*String[] split(String kytuphanchia): Kết quả trả về là một mảng string sau khi cắt input String đầu vào theo 'kytuphanchia'.
*String[] split(String kytuphanchia, int gioihan): Kết quả trả về là một mảng String có kích thước bằng gioihan. Ví dụ: split('kytuphanchia',3) sẽ trả về một mảng String có kích thước là 3 mặc dù String input đầu vào sau khi split theo 'kytuphanchia' có thể có kích thước lớn hơn 3. Khi gioihan là một số âm mảng array String trả về sẽ chứa tất cả các String có thể cắt được từ input String đầu vào. Khi goihan là 0 thì mảng array String trả về sẽ chứa không chứa ký tự string rỗng ở cuối. Nghe có vẻ khó hiểu nhưng bài viết sẽ phân tích về gioihan là số âm, gioihan bằng 0 ở ví dụ phía dưới.
Chương trình cài đặt:
package simplecodecjava.blogspot.com; public class SplitExample { public static void main(String args[]) { String str = new String("28/12/2015/ /simplecodecjava.blogspot.com"); System.out.println("split(String kytuphanchia):"); String array1[] = str.split("/"); for (String temp : array1) { System.out.println(temp); } System.out.println("split(String kytuphanchia, int gioihan) với gioihan=2:"); String array2[] = str.split("/", 2); for (String temp : array2) { System.out.println(temp); } System.out.println("split(String kytuphanchia, int gioihan) với gioihan=0:"); String array3[] = str.split("/", 0); for (String temp : array3) { System.out.println(temp); } System.out.println("split(String kytuphanchia, int gioihan) với gioihan=-5:"); String array4[] = str.split("/", -5); for (String temp : array4) { System.out.println(temp); } } }Output:
split(String kytuphanchia): 28 12 2015 simplecodecjava.blogspot.com split(String kytuphanchia, int gioihan) với gioihan=2: 28 12/2015/ /simplecodecjava.blogspot.com split(String kytuphanchia, int gioihan) với gioihan=0: 28 12 2015 simplecodecjava.blogspot.com split(String kytuphanchia, int gioihan) với gioihan=-5: 28 12 2015 simplecodecjava.blogspot.comKết quả của chương trình trên.
* Với trường hợp gioihan = 2 thì mảng String đầu ra có kích thước là 2. Do đó mà kết quả in ra {'28','12/2015/ /simplecodecjava.blogspot.com'}
* Với trường hợp gioihan = -5 và gioihan=0 cho cùng một kết quả {'28','12','2015','','simplecodecjava.blogspot.com'}
* Nếu thay input String đầu vào:
String str = new String("28/12/2015/ /simplecodecjava.blogspot.com//");Ta sẽ thấy kết quả chương trình có sự khác biệt giữa gioihan=-5 và gioihan=0:
split(String kytuphanchia): 28 12 2015 simplecodecjava.blogspot.com split(String kytuphanchia, int gioihan) với gioihan=2: 28 12/2015/ /simplecodecjava.blogspot.com// split(String kytuphanchia, int gioihan) với gioihan=0: 28 12 2015 simplecodecjava.blogspot.com split(String kytuphanchia, int gioihan) với gioihan=-5: 28 12 2015 simplecodecjava.blogspot.com* gioihan = -5: input string đầu vào đã được cắt ra thành {'28','12','2015',' ','simplecodecjava.blogspot.com',' ',' '}.
* gioihan = 0: input string đầu vào đã được cắt ra thành {'28','12','2015',' ','simplecodecjava.blogspot.com'}.
Mảng string thu được sau khi cắt với gioihan = -5 so với gioihan = 0 nhiều hơn 2 string rỗng bởi 2 ký tự cuối {//} trong chuỗi input String đầu vào cũng bị cắt ra và tạo thành 2 String rỗng.
Chú ý:
*Khi kytuphanchia là những ký tự đặc biệt. thì cần phải thêm '\\' vào đằng trước.
Phân chia theo dấu '.' được viết thành: string.split('\\.'); Phân chia theo dấu '^' được viết thành: string.split('\\^'); Phân chia theo khoảng trắng ' ' được viết thành: string.split('\\s'); Phân chia theo dấu '|' được viết thành: string.split('\\|');* Khi muốn cắt String theo chữ số dùng '\\d+'
String str = new String("abc123def456ghj"); System.out.println("split(String kytuphanchia):"); String array1[] = str.split("\\d+"); for (String temp : array1) { System.out.println(temp); } Output: split(String kytuphanchia): abc def ghj
* Khi muốn cắt String theo chữ cái dùng '[a-zA-Z]+'
String str = new String("0abc123def456ghj"); System.out.println("split(String kytuphanchia):"); String array1[] = str.split("[a-zA-Z]+"); for (String temp : array1) { System.out.println(temp); } Output: split(String kytuphanchia): 0 123 456
0 Comment to "[Java] Cắt String trong Java - Split String in Java."
Post a Comment