Chuỗi là một phần quan trọng trong lập trình Java. Trong bài viết này, chúng ta sẽ tìm hiểu về khái niệm chuỗi và cách thao tác với chuỗi trong Java.
Chuỗi là gì?
- Chuỗi là một dãy các ký tự được đặt trong cặp dấu " ", trong đó mỗi ký tự được gọi là một phần tử của chuỗi.
- Độ dài của chuỗi là số lượng ký tự trong chuỗi đó.
- Nếu một chuỗi không có ký tự nào, ta gọi nó là chuỗi rỗng.
Ví dụ, chuỗi "Hello World" có độ dài là 11.
Khai báo chuỗi
Chúng ta có thể khai báo một chuỗi bằng cách sử dụng từ khoá String
và gán giá trị cho chuỗi đó.
Cú pháp khai báo:
String ;
Hoặc
String = "giá_trị_khởi_tạo";
Đối với giá trị khởi tạo của chuỗi, nếu có thì phải đặt trong cặp dấu " ".
Dùng từ khoá new
:
String = new String("giá_trị");
Ví dụ:
String st;
String st1 = "Java";
String st2 = new String("Hoa Hau");
Các phương thức xử lý chuỗi
a. Phương thức length()
- Cú pháp:
.length() - Ý nghĩa: Trả về độ dài của chuỗi.
Ví dụ:
String st = "Hoa Hau Viet Nam";
System.out.print(st.length());
Kết quả: 16
b. Phương thức charAt()
- Cú pháp:
.charAt(int index) - Ý nghĩa: Trả về ký tự trong chuỗi tại vị trí có chỉ số là
index
.
Ví dụ:
String st = "Mai Phuong Thuy";
System.out.println(st.charAt(7));
Kết quả: u
c. Phương thức concat()
- Cú pháp:
st1.concat(String st2)
- Ý nghĩa: Nối chuỗi
st2
vào cuối chuỗist1
.
Ví dụ:
String st1 = "Hoa Hau";
System.out.println(st1.concat(" Hoan Vu"));
Kết quả: Hoa Hau Hoan Vu
d. Phương thức compareTo()
- Cú pháp:
st1.compareTo(String st2)
- Ý nghĩa: So sánh hai chuỗi
st1
vàst2
. Trả về một số nguyên:- 0 nếu hai chuỗi bằng nhau.
- Số âm nếu
st1
nhỏ hơnst2
. - Số dương nếu
st1
lớn hơnst2
.
Ví dụ:
public class VDCompareTo {
public static void main(String[] args) {
String st1 = "HOA HAU";
String st2 = "HOA HAU";
System.out.println(st1.compareTo(st2));
}
}
Kết quả: 0
e. Phương thức indexOf()
- Cú pháp:
st1.indexOf(String st2 [,int fromIndex])
- Ý nghĩa: Tìm vị trí xuất hiện đầu tiên của chuỗi
st2
trong chuỗist1
, bắt đầu từ chỉ sốfromIndex
(nếu có). Nếu không tìm thấy, trả về -1.
Ví dụ:
f. Phương thức lastIndexOf()
- Cú pháp:
st1.lastIndexOf(String st2)
- Ý nghĩa: Tìm vị trí xuất hiện cuối cùng của chuỗi
st2
trong chuỗist1
. Nếu không tìm thấy, trả về -1.
Ví dụ:
g. Phương thức replace()
- Cú pháp:
st1.replace(char oldChar, char newChar)
- Ý nghĩa: Thay thế ký tự
oldChar
bằng ký tựnewChar
trong chuỗist1
. Trả về chuỗist1
nếu ký tự cần thay thế không có trong chuỗi đó.
Ví dụ:
Lưu ý:
- Phương thức
replaceAll()
: thay thế chuỗi, tương tự nhưreplace()
nhưng thực hiện trên toàn bộ chuỗi. - Phương thức
replaceFirst()
: thay thế chuỗi con đầu tiên có trongst1
, tương tự nhưreplaceAll()
nhưng chỉ thay thế một lần.
Ví dụ:
h. Phương thức split()
- Cú pháp:
st1.split(String st2, int limit)
- Ý nghĩa: Tách chuỗi
st1
thành một mảng các chuỗi con bằng cách sử dụng chuỗist2
làm điểm tách.limit
kiểm soát số lượng các chuỗi con kết quả.
Ví dụ:
i. Phương thức substring()
- Cú pháp:
st.substring(int startIndex [, int endIndex])
- Ý nghĩa: Lấy một chuỗi con từ vị trí có chỉ số là
startIndex
trong chuỗist
. Trong trường hợp cóendIndex
, chúng ta lấy một chuỗi con bắt đầu từ vị trí có chỉ số làstartIndex
và kết thúc tại vị trí có chỉ sốendIndex - 1
trong chuỗist
.
Ví dụ:
j. Phương thức trim()
- Cú pháp:
st.trim()
- Ý nghĩa: Loại bỏ khoảng trắng thừa ở đầu và cuối chuỗi
st
. Nếu chuỗi không có khoảng trắng thừa, trả về chuỗi gốc.
Ví dụ:
k. Phương thức toUpperCase()
- Cú pháp:
st.toUpperCase()
- Ý nghĩa: Chuyển đổi tất cả các ký tự trong chuỗi thành chữ hoa.
Ví dụ:
l. Phương thức toLowerCase()
- Cú pháp:
st.toLowerCase()
- Ý nghĩa: Chuyển đổi tất cả các ký tự trong chuỗi thành chữ thường.
Ví dụ:
Trên đây là một số phương thức phổ biến để xử lý chuỗi trong Java. Hy vọng rằng bài viết đã cung cấp cho bạn thông tin hữu ích và giúp bạn hiểu rõ hơn về cách làm việc với chuỗi trong ngôn ngữ lập trình này.