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 Chuỗi Trong String
-
Cách Tách Một Chuỗi Trong Java? - HelpEx
-
Tách String Trong C++
-
Tách Chuỗi Trong C (strtok)
-
Phương Thức Split Trong Java String - Học Java Miễn Phí Hay Nhất
-
Java: Hàm Xử Lý Chuỗi (String) | V1Study
-
Các Hàm Xử Lý Chuỗi Trong Javascript (cắt / Tách / Nối Chuỗi ..) - Freetuts
-
#034 - Tách Một Chuỗi Thành Một Mảng | DEVMASTER
-
Phương Thức Chuỗi Split () Trong Java: Cách Tách Chuỗi Bằng Ví Dụ
-
Hướng Dẫn Split String C++ - QA Bug
-
Java 56. Cách Phân Tách Chuỗi Thành Mảng Trong Lập Trình Java
-
Tổng Hợp Các Hàm Xử Lý Chuỗi Trong Lập Trình C# » Chia Sẻ để Vui Vẻ
-
Các Hàm Xử Lý Chuỗi Trong PHP - Phần 1 - Viblo