Để thực hiện thao tác thay thế chuỗi trong Java thì chúng ta có 3 phương thức được Java cung cấp sẵn đó là:
-
replace()
-
replaceFirst()
-
replaceAll()
Thay thế chuỗi trong Java
1. Tìm hiểu về Phương thức replace()
Phương thức replace() này trả về một chuỗi mới không ảnh hưởng đến chuỗi cũ.
Ví dụ, Thay thế "Java" bằng "PHP" bên trong chuỗi s1 = "Học lập trình Java"
thì chương trình tạo ra một chuỗi mới là "Học lập trình PHP".
Chuỗi s1 vẫn không đổi.
Cú pháp của phương thức replace()
Trong đó:
-
oldCh - là chuỗi cũ cần được thay thế khỏi chuỗi
-
newCh - là chuỗi mới cần cho vào để thay thế.
-
Giá trị trả về: Phương thức này trả về một chuỗi mới
Ví dụ chương trình:
Chúng ta nhận được kết quả là:
2. Ví dụ Phương thức replaceFirst() trong Java
Phương thức replaceFirst() sẽ tìm và thay thế chuỗi con đầu tiên trong chuỗi ban đầu bằng chuỗi truyền vào.
Cú pháp của replaceFirst()
Trong đó:
-
rgex là chuỗi cần thay thế ra
-
replacment là chuỗi cần phải thay vào
-
Giá trị trả về (Return Value): Phương thức replaceFirst() trả về chuỗi mới đã được thay thế
Ví dụ về cách sử dụng Phương thức replaceFirst()
Kết quả chúng ta nhận được:
3. Ví dụ sử dụng Phương thức replaceAll() trong Java
Như cái tên gọi, phương thức replaceAll() trả về một chuỗi bằng cách thay thế tất cả ký tự khớp với chuỗi truyền vào.
Cú pháp của phương thức replaceAll()
Trong đó:
-
regx: Chuỗi cần được thay thế ra
-
replacement: Đây là chuỗi cần được thay thế vào
Kết quả chúng ta nhận được là:
4. Sự khác nhau của phương thức replace() và phương thức replaceAll()
Nhìn qua thì bạn thấy 2 phương thức này có vẻ hoạt động giống nhau đúng không? Nhưng tại sao lại cần cả 2 phương thức này?
Điểm khác biệt nằm ở chỗ:
-
Phương thức replaceAll() nhận tham số vào như một chuỗi.
-
Còn phương thức replace() có thể nhận tham số truyền vào như là ký tự hoặc là chuỗi.
Tổng kết
Phương thức replace(), replaceFirst(), replaceAll() cũng khá đơn giản phải không nào?
Tùy vào từng tình huống chúng ta sẽ sử dụng các phương thức khác nhau.
> Tham gia ngay Khóa học Java Fullstack nếu bạn muốn học Java một cách bài bản nhất.