Trong bài viết trước, các bạn đã được tìm hiểu các cách để khởi tạo một đối tượng String trong Java cũng như sự khác nhau giữa chúng, và các bạn cũng đã tìm hiểu String hiện thực khái niệm Immutable như thế nào! Trong bài viết này, mình sẽ tiếp tục trình bày với tất cả các bạn những phương thức cơ bản của đối tượng String. Cụ thể chúng như thế nào, hãy đọc tiếp tục nhé các bạn!
Table of Contents
Phương thức charAt()
Dùng để lấy một ký tự tại vị trí index trong chuỗi String.
Các bạn nên nhớ là String được lưu trữ ở dạng biến mảng, do đó index sẽ bắt đầu từ số 0.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String a = "Khanh"; char ch = a.charAt(2); System.out.println(ch); } } |
Kết quả:
Trong ví dụ này, kí tự ở index = 0 sẽ là “K”, 1 sẽ là “h”, và do đó ở vị trí index = 2 sẽ là “a”.
Phương thức indexOf()
Dùng để tìm kiếm một kí tự hoặc một chuỗi nào đó có trong một chuỗi bất kỳ hay không?
Phương thức này sẽ trả về index bắt đầu xuất hiện chuỗi hoặc kí tự đó.
Phương thức này có nhiều phương thức overload khác nhau, nhằm hỗ trợ chúng ta tìm kiếm một kí tự, một chuỗi, một kí tự bắt đầu từ một index nào đó hay một chuỗi bắt đầu từ một index nào đó.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String a = "Khanh"; int i = a.indexOf("h"); System.out.println(i); int j = a.indexOf("an"); System.out.println(j); int k = a.indexOf("h", 2); System.out.println(k); } } |
Kết quả:
Phương thức substring()
Phương thức này dùng để lấy một chuỗi nào đó trong một chuỗi bất kỳ bắt đầu từ một index xác định cho đến cuối chuỗi hoặc bắt đầu từ một index này đến một index khác trong chuỗi bất kỳ đó.
Phương thức này cũng có phương thức overload.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String a = "Khanh"; String b = a.substring(2); System.out.println(b); String c = a.substring(1, 2); System.out.println(c); } } |
Kết quả:
Các bạn nên lưu ý một điều là, phương thức substring() từ index này tới index kia sẽ không trả về kí tự tại vị trí index kia. Trong ví dụ của mình, mặc dù mình gọi substring từ 1 đến 2 nhưng kí tự tại vị trí index 2 (“a”) đã không được trả về.
Phương thức trim()
Nếu chuỗi String của các bạn có nhiều kí tự trống ở hai đầu hoặc kí tự xuống dòng hoặc một tab và bây giờ bạn muốn xóa những kí tự đó đi thì hãy sử dụng phương thức trim().
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String a = " Khanh "; String b = a.trim(); System.out.println("-" + b + "-"); } } |
Kết quả:
Phương thức replace()
Dùng để tạo mới đối tượng String khác, bằng cách thay thế tất cả các kí tự hoặc chuỗi trong một chuỗi bất kì với kí tự hoặc chuỗi được truyền vào.
Ví dụ:
1 2 3 4 5 6 7 8 9 10 11 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String a = " Khanh "; String b = a.replace("a", "oa"); System.out.println(b); } } |
Kết quả:
Phương thức length()
Dùng để xác định độ dài của chuỗi bất kỳ.
Ví dụ:
1 2 3 4 5 6 7 8 9 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String a = "Khanh"; System.out.println(a.length()); } } |
Kết quả:
Phương thức startsWith()
Đây là phương thức dùng để kiểm tra chuỗi của chúng ta có bắt đầu bằng kí tự hoặc chuỗi được truyền trong phương thức này hay không?
Giá trị trả về của phương thức này là TRUE hoặc FALSE.
Ví dụ:
1 2 3 4 5 6 7 8 9 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String a = "Khanh"; System.out.println(a.startsWith("K")); } } |
Kết quả:
Phương thức endsWith()
Tương tự như phương thức startsWith() nhưng phương thức này dành để kiểm tra chuỗi của chúng ta có phải kết thúc bằng kí tự hoặc chuỗi được truyền trong phương thức hay không?
Giá trị trả về của phương thức này cũng là TRUE hoặc FALSE.
Ví dụ:
1 2 3 4 5 6 7 8 9 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String a = "Khanh"; System.out.println(a.endsWith("n")); } } |
Kết quả:
Phương thức split()
Phương thức split() dùng để chia nhỏ một chuỗi nào đó bằng cách sử dụng ký tự ngăn cách có trong chuỗi. Nó sẽ trả về cho chúng ta một array bao gồm các giá trị của chuỗi sau khi chia nhỏ.
Ví dụ mình có chuỗi sau “ab|cd|e”, để chia nhỏ chuỗi này ra với dấu ngăn cách “|”, mình sẽ code như sau:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String s = "ab|cd|e"; String[] result = s.split("\\|"); for (String r : result) System.out.println(r); } } |
Kết quả:
Trong trường hợp ở cuối chuỗi có các dấu ngăn cách nhưng giá trị giữa các dấu ngăn cách này rỗng thì để return lại đầy đủ các giá trị rỗng này, các bạn cần sử dụng phương thức overload của phương thức split() này với thêm một tham số có giá trị âm. Nhìn vào ví dụ sau các bạn sẽ rõ sự khác biệt:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
package com.huongdanjava.javaexample; public class Example { public static void main(String[] args) { String s = "ab|cd|e||f|||"; String[] result = s.split("\\|"); System.out.println(result.length); System.out.println("------"); String[] result1 = s.split("\\|", -1); System.out.println(result1.length); } } |
Kết quả: