1. So sánh các chuỗi
Một trong những thao tác phổ biến nhất với chuỗi là so sánh. Lớp String có hơn mười phương thức khác nhau được sử dụng để so sánh một chuỗi với một chuỗi khác. Dưới đây chúng ta sẽ xem xét bảy trong số những cái chính.
phương pháp | Sự miêu tả |
---|---|
|
Các chuỗi được coi là bằng nhau nếu tất cả các ký tự của chúng khớp nhau. |
|
So sánh các chuỗi, bỏ qua trường hợp của các chữ cái (bỏ qua chúng là chữ hoa hay chữ thường) |
|
So sánh các chuỗi theo từ điển. Trả về 0 nếu các chuỗi bằng nhau. Giá trị trả về nhỏ hơn 0 nếu chuỗi hiện tại nhỏ hơn tham số chuỗi. Giá trị trả về lớn hơn nếu chuỗi hiện tại lớn hơn tham số chuỗi. |
|
So sánh các chuỗi theo từ điển trong khi bỏ qua trường hợp. Trả về 0 nếu các chuỗi bằng nhau. Giá trị trả về là âm nếu chuỗi hiện tại nhỏ hơn tham số chuỗi. Giá trị trả về lớn hơn nếu chuỗi hiện tại lớn hơn tham số chuỗi. |
|
So sánh các phần của chuỗi |
|
Kiểm tra xem chuỗi hiện tại có bắt đầu bằng chuỗi khôngprefix |
|
Kiểm tra xem chuỗi hiện tại có kết thúc bằng chuỗi khôngsuffix |
Giả sử bạn muốn viết một chương trình yêu cầu người dùng cung cấp đường dẫn đến một tệp và sau đó kiểm tra loại tệp dựa trên phần mở rộng của nó. Mã của một chương trình như vậy có thể trông giống như thế này:
Mã số | ghi chú |
---|---|
|
Tạo một Scanner đối tượng Đọc một dòng từ bàn điều khiển Kiểm tra xem chuỗi path có kết thúc bằng chuỗi đã cho hay không |
2. Tìm kiếm chuỗi con
Sau khi so sánh các chuỗi, thao tác phổ biến thứ hai là tìm một chuỗi bên trong một chuỗi khác. Lớp String cũng có một vài phương thức cho việc này:
phương pháp | Sự miêu tả |
---|---|
|
Tìm kiếm chuỗi str trong chuỗi hiện tại. Trả về chỉ số của ký tự đầu tiên của lần xuất hiện đầu tiên. |
|
Tìm kiếm chuỗi str trong chuỗi hiện tại, bỏ qua index các ký tự đầu tiên. Trả về chỉ mục của sự xuất hiện. |
|
Tìm kiếm chuỗi str trong chuỗi hiện tại, bắt đầu từ cuối. Trả về chỉ mục của lần xuất hiện đầu tiên. |
|
Tìm kiếm chuỗi str trong chuỗi hiện tại từ cuối, bỏ qua index các ký tự đầu tiên. |
|
Kiểm tra xem chuỗi hiện tại có khớp với mẫu được chỉ định bởi biểu thức chính quy hay không. |
Các phương pháp indexOf(String)
và indexOf(String, index)
thường được sử dụng kết hợp. Phương thức đầu tiên cho phép bạn tìm sự xuất hiện đầu tiên của chuỗi con đã truyền trong chuỗi hiện tại. Và phương pháp thứ hai cho phép bạn tìm các lần xuất hiện thứ hai, thứ ba, v.v. bằng cách bỏ qua các ký tự chỉ mục đầu tiên.
Giả sử chúng tôi có một url như " https://domain.com/about/reviews " và chúng tôi muốn thay thế tên miền bằng " codegym.cc ". Các url có thể có tất cả các loại tên miền khác nhau, nhưng chúng tôi biết những điều sau:
- Tên miền được bắt đầu bằng hai dấu gạch chéo lên — "
//
" - Theo sau tên miền là một dấu gạch chéo đơn — "
/
"
Đây là mã cho một chương trình như vậy sẽ như thế nào:
Mã số | ghi chú |
---|---|
|
Tạo một đối tượng Scanner Đọc một dòng từ bàn điều khiển Lấy chỉ mục của lần xuất hiện đầu tiên của chuỗi " // " Chúng tôi nhận được chỉ mục của lần xuất hiện đầu tiên của chuỗi / , nhưng chỉ xem sau lần xuất hiện của các ký tự // . Ta lấy xâu từ đầu đến cuối kí tự // Ta lấy xâu từ / đầu đến cuối. Chúng tôi nối các chuỗi và miền mới. |
Các phương thức lastIndexOf(String)
và lastIndexOf(String, index)
hoạt động theo cùng một cách, chỉ có điều tìm kiếm được thực hiện từ cuối chuỗi đến đầu.
3. Tạo chuỗi con
Ngoài việc so sánh các chuỗi và tìm chuỗi con, còn có một hành động rất phổ biến khác: lấy chuỗi con từ một chuỗi. Khi nó xảy ra, ví dụ trước cho bạn thấy một substring()
lệnh gọi phương thức trả về một phần của chuỗi.
Dưới đây là danh sách 8 phương thức trả về chuỗi con từ chuỗi hiện tại:
phương pháp | Sự miêu tả |
---|---|
|
Trả về chuỗi con được chỉ định bởi phạm vi chỉ mục beginIndex..endIndex . |
|
Lặp lại chuỗi hiện tại n lần |
|
Trả về một chuỗi mới: thay thế ký tự oldChar bằng ký tựnewChar |
|
Thay thế chuỗi con đầu tiên, được chỉ định bởi một biểu thức chính quy, trong chuỗi hiện tại. |
|
Thay thế tất cả các chuỗi con trong chuỗi hiện tại khớp với biểu thức chính quy. |
|
Chuyển đổi chuỗi thành chữ thường |
|
Chuyển đổi chuỗi thành chữ hoa |
|
Loại bỏ tất cả khoảng trắng ở đầu và cuối chuỗi |
Dưới đây là tóm tắt các phương pháp có sẵn:
substring(int beginIndex, int endIndex)
phương pháp
Phương substring
thức trả về một chuỗi mới bao gồm các ký tự trong chuỗi hiện tại, bắt đầu từ ký tự có chỉ số beginIndex
và kết thúc tại endIndex
. Như với tất cả các khoảng trong Java, ký tự có chỉ mục endIndex
không được bao gồm trong khoảng. Ví dụ:
Mã số | Kết quả |
---|---|
|
|
|
|
|
|
|
|
Nếu endIndex
tham số không được chỉ định (có thể), thì chuỗi con được lấy từ ký tự ở đầu Index đến cuối chuỗi.
repeat(int n)
phương pháp
Phương thức lặp lại chỉ đơn giản là lặp lại chuỗi hiện tại n
. Ví dụ:
Mã số | Kết quả |
---|---|
|
|
|
|
|
|
|
|
replace(char oldChar, char newChar)
phương pháp
Phương replace()
thức trả về một chuỗi mới trong đó tất cả các ký tự oldChar
được thay thế bằng ký tự newChar
. Điều này không làm thay đổi độ dài của chuỗi. Ví dụ:
Mã số | Kết quả |
---|---|
|
|
|
|
|
|
|
|
replaceFirst()
và replaceAll()
phương pháp
Phương thức này replaceAll()
thay thế tất cả các lần xuất hiện của một chuỗi con bằng một chuỗi con khác. Phương thức này replaceFirst()
thay thế lần xuất hiện đầu tiên của chuỗi con đã truyền bằng chuỗi con đã chỉ định. Chuỗi cần thay thế được chỉ định bởi một biểu thức chính quy. Chúng ta sẽ đi sâu vào các biểu thức chính quy trong nhiệm vụ Đa luồng Java .
Ví dụ:
Mã số | Kết quả |
---|---|
|
|
|
|
|
|
|
|
toLowerCase() and toUpperCase()
phương pháp
Chúng ta đã biết những phương thức này khi lần đầu tiên học cách gọi các phương thức của lớp String
.
trim()
phương pháp
Phương thức này trim()
loại bỏ các khoảng trắng ở đầu và cuối khỏi một chuỗi. Không chạm vào khoảng trắng bên trong một chuỗi (nghĩa là không ở đầu hoặc cuối). Ví dụ:
Mã số | Kết quả |
---|---|
|
|
|
|
|
|
|
|
GO TO FULL VERSION