Cắt Chuỗi Tĩnh Và động Trong Java - Deft Blog
Có thể bạn quan tâm
Mục lục
- 1 Split method
- 1.1 Cú pháp
- 1.2 Parameter
- 2 Cắt chuỗi tĩnh trong java
- 3 Cắt chuỗi động trong java
- 4 PatternSyntaxException trong String
Trong quá trình thao tác với String trong java đôi lúc chúng ta cần cắt chuỗi theo một ký tự cụ thể như dấu gạch ngang “-” hoặc theo một khuôn mẫu nào đó. String hỗ trợ cho chúng ta cả hai phương thức trên. Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về các cách cắt chuỗi trong java nhé.
Split method
Split method được sử dụng để cắt chuỗi trong java và trả về một mảng các String sau khi được cắt.
Cú pháp
public String split(String regex) public String split(String regex, int limit)Parameter
regex: Biểu thức regular expression để cắt chuỗi.
limit: Kích thước tối đã của mảng trả về.
Cắt chuỗi tĩnh trong java
Như mình đề cập về hàm split() ở trên thì nó luôn luôn nhận vào một chuỗi regex. Vậy làm sao để cắt tĩnh theo một ký tự cố định đây?
Bí ẩn nằm sau bên trong split() nó sẽ tiền xử lý để kiểm tra xem tham số truyền vào có đúng là chuỗi regex hay không? Nếu không thì nội tại bên trong nó sẽ gọi hàm substring() và cắt dựa vào chuỗi được truyền vào.
Ví dụ: Cho chuỗi share-programming-net, cắt chuỗi theo ký tự “-“
class Main { public static void main(String args[]) { String s = "share-programming-net"; String[] splits = s.split("-"); for (String item : splits) System.out.println(item); } }Output
shareprogrammingnet
Áp dụng limit
class Main { public static void main(String args[]) { String s = "share-programming-net"; String[] splits = s.split("-", 2); for (String item : splits) System.out.println(item); } }Output:
shareprogramming-net
Như các bạn thấy mình giới hạn kích thước của mảng trả về là 2 nên nó chỉ cắt được 1 lần là không còn chỗ chứa nữa.
Note: Có thể xem limit – 1 là số lần được cắt chuỗi
Cắt chuỗi động trong java
Để cắt chuỗi động hay theo một khuôn mẫu thì bạn cần áp dụng java regex. Dưới đây là một số ví dụ
Ví dụ 1: Mình có một chuỗi là tên trang web mình thế nhưng không hiểu vì sao nó lại lẫn các ký số vào, và bây giờ mình cần loại bỏ các chữ số đó ra khởi chuỗi “share214programming4214124net”.
class Main { public static void main(String args[]) { String s = "share214programming4214124.net"; String[] splits = s.split("\\d+"); StringBuilder stringBuilder = new StringBuilder(); for (String item : splits) stringBuilder.append(item); System.out.println(stringBuilder.toString()); } }Output: shareprogramming.net
Ví dụ 2: Cho chuỗi str, loại bỏ 3 ký tự ‘xxx’ liền nhau.
class Main { public static void main(String args[]) { String s = "shareproxxxgramminxxxg.nexxxt"; String[] splits = s.split("[xxx]"); StringBuilder stringBuilder = new StringBuilder(); for (String item: splits) stringBuilder.append(item); System.out.println(stringBuilder.toString()); } }Output: shareprogramming.net
PatternSyntaxException trong String
Nếu bạn cắt chuỗi mà chuỗi regex truyền vào không hợp lệ thì sẽ bị java nèm lỗi Pattern SyntaxException. Ví dụ như bạn dùng các ký tự Quantifiers regex như “*, +, ?” hay thiếu dấu đóng mở ngoặc như “{“, “[” etc.
class Main { public static void main(String args[]) { String s = "Welcome*to"; s.split("*"); } }Output: PatternSyntaxException
Nguồn tham khảo
https://www.baeldung.com/string/split
Từ khóa » Tách Từng Ký Tự Trong Chuỗi Java
-
Java - Tách Các Từ Có Trong Chuỗi Và Hiển Thị Mỗi Từ Trên 1 Dòng.
-
Hỏi Cách Phân Tích Chuỗi Thành Mảng Các Ký Tự Trong Java
-
Java: Hàm Xử Lý Chuỗi (String) | V1Study
-
Cách Tách Một Chuỗi Trong Java? - HelpEx
-
Chuỗi String Trong Java
-
Tách Dãy Số Từ Chuỗi
-
Bài Tập Xử Lý Chuỗi Trong Java
-
Giúp Xử Lý Chuỗi Khó !!! Tách Từ Trong Chuỗi Dang: Abc Xyz Htk
-
Cách Tách Một Chuỗi Trong Java
-
Phương Thức Chuỗi Java - TutorialCup
-
Lưu Trữ Tách Từng Ký Tự Trong Chuỗi Java - Xây Dựng Web
-
Phương Thức ToCharArray Trong Java String - VietTuts
-
Cắt Chuỗi Split() Trong Java
-
Tách Từng Ký Tự Trong Chuỗi Như Thế Nào? - Cộng đồng C Việt
-
Chuyển Chuỗi Thành Mảng Trong JavaScript
-
Tách Số Trong Chuỗi JavaScript
-
Tìm Hiểu Lớp StringTokenizer Trong Java Cùng Ví Dụ Cụ Thể
-
#034 - Tách Một Chuỗi Thành Một Mảng | DEVMASTER
-
Tách Kí Tự Xuống Dòng Ra Khỏi Chuỗi Và Chỉ Lấy Số Trong Chuỗi.