Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Java String Contains: Hướng Dẫn Bước Đi Bước

Phương thức Java contains() kiểm tra chuỗi có chứa chuỗi con khác không. contains() trả về True hoặc False. Java contains() chấp nhận một tham số: chuỗi con tìm kiếm trong chuỗi của bạn.


Thường khi làm việc với chuỗi, bạn muốn xác định chuỗi có chứa dãy ký tự cụ thể không. Ví dụ, nảy sinh nếu tạo ứng dụng kiểm tra số điện thoại người dùng có chứa mã quốc gia Mỹ không.

Java cung cấp phương thức tích hợp kiểm tra chuỗi có chứa giá trị cụ thể: contains(). Hướng dẫn này thảo luận, kèm ví dụ, cách dùng phương thức contains() của chuỗi kiểm tra chuỗi có chứa chuỗi con trong Java.

Chuỗi Trong Java

Trong Java, chuỗi dùng lưu trữ dữ liệu dựa trên văn bản. Chuỗi là dãy không hoặc nhiều ký tự bao gồm chữ cái, ký hiệu, khoảng trắng, và số.

Chuỗi khai báo là dãy ký tự bao quanh bởi dấu ngoặc kép kép. Ví dụ chuỗi trong Java:

String phone_number = “+1 000 000 0000”;

Trong ví dụ, khai báo biến phone_number lưu giá trị chuỗi. Chuỗi gán giá trị +1 000 000 0000.

Bây giờ đã biết cơ bản chuỗi Java, có thể thảo luận cách dùng phương thức contains().

Phương Thức contains() Của Chuỗi Java

Kiểu dữ liệu chuỗi Java cung cấp nhiều phương thức xử lý và thao tác nội dung chuỗi. Một phương thức gọi là contains(), dùng tìm hiểu chuỗi có chứa dãy ký tự cụ thể không.

Làm rõ, contains() là phương thức Java tích hợp kiểm tra chuỗi có chứa ký tự hoặc dãy ký tự cụ thể. Cú pháp phương thức contains() chuỗi:

string_name.contains(substring);

Phương thức contains() chấp nhận một tham số: dãy ký tự muốn tìm trong chuỗi.

contains() trả về hai giá trị có thể. Nếu chuỗi chỉ định chứa chuỗi con, contains() trả về true; ngược lại, contains() trả về false.

Giả sử tạo chương trình nhà hàng kiểm tra đặt chỗ liên kết khách cụ thể. Chương trình chấp nhận tên khách và số đặt chỗ, kiểm tra họ khách đưa có khớp họ liên kết đặt chỗ không.

Để kiểm tra họ khách khớp họ lưu hồ sơ, có thể dùng mã:

class CheckReservation { public static void main(String[] args) { String name_on_file = "Jeff Clinton"; String name_given_to_clerk = "Clinton"; if (name_on_file.contains(name_given_to_clerk)) { System.out.println("This reservation is confirmed."); } else { System.out.println("This reservation does not exist."); } } } 

Khi chạy mã, phản hồi sau trả về:

This reservation is confirmed.

Phân tích mã. Đầu tiên khai báo lớp CheckReservation chứa mã chương trình. Sau đó chương trình thực thi các bước:

  1. Biến name_on_file khai báo, lưu tên đầy đủ khách đưa qua điện thoại khi đặt chỗ.
  2. name_given_to_clerk khai báo, là họ khách.
  3. Chương trình dùng phương thức contains() kiểm tra tên đặt chỗ khớp tên đưa cho nhân viên.
    1. Nếu tên hồ sơ bao gồm họ đưa cho nhân viên, This reservation is confirmed. in ra bảng điều khiển.
    2. Nếu tên hồ sơ không bao gồm họ đưa cho nhân viên, This reservation does not exist. in ra bảng điều khiển.

Phương thức contains() hữu ích nếu muốn kiểm tra chuỗi có chứa chuỗi con cụ thể. Ví dụ, ví dụ trên dùng phương thức kiểm tra tên đầy đủ khách có chứa họ khách đưa cho nhân viên nhà hàng.

contains() Không Phân Biệt Chữ Hoa Chữ Thường

Phương thức Java contains() phân biệt chữ hoa chữ thường (case sensitive). Nghĩa là dù nội dung chuỗi con chỉ định tồn tại trong chuỗi, true chỉ trả về nếu chữ hoa chữ thường chuỗi khớp.

Tuy nhiên, có giải pháp thay thế kiểm tra chuỗi có chứa chuỗi con cụ thể, bất kể chữ hoa chữ thường. Có thể dùng toLowerCase() hoặc toUpperCase() chuyển cả chuỗi gốc và chuỗi con thành chữ thường hoặc chữ hoa để khi dùng contains(), so sánh bằng nhau thực hiện.

Ví dụ, giả sử nhân viên nhập họ khách chữ thường trong chương trình. Nếu xảy ra, chương trình trả về:

This reservation does not exist.

Vì chữ hoa chữ thường chuỗi khác nhau, chương trình không nhận ra chúng giống nhau. Tuy nhiên, nếu dùng toLowerCase() hoặc toUpperCase(), có thể chuyển chữ hoa chữ thường cả hai chuỗi giữ nhất quán.

Quay lại nhà hàng. Giả sử muốn tất cả kiểm tra không phân biệt chữ hoa chữ thường để nếu nhân viên dùng sai chữ hoa chữ thường kiểm tra đặt chỗ, đặt chỗ không tự động xuất hiện không tồn tại. Ví dụ toUpperCase() dùng thực hiện kiểm tra không phân biệt chữ hoa chữ thường dùng contains() trong Java:

class CheckReservation { public static void main(String[] args) { String name_on_file = "Jeff Clinton".toLowerCase(); String name_given_to_clerk = "clinton".toLowerCase(); if (name_on_file.contains(name_given_to_clerk)) { System.out.println("This reservation is confirmed."); } else { System.out.println("This reservation does not exist."); } } } 

Trong ví dụ, làm vài thay đổi. Đầu tiên, đổi chữ hoa chữ thường tên đưa cho nhân viên thành toàn bộ chữ thường (giá trị giờ clinton thay vì Clinton). Thứ hai, dùng toLowerCase() chuyển biến name_on_file và name_given_to_clerk thành chữ thường.

Mã trả về:

This reservation is confirmed.

Dù biến name_on_fil và name_given_to_clerk dùng chữ hoa chữ thường khác, toLowerCase() chuyển cả hai biến thành chữ thường. Vì vậy so sánh bằng nhau thực hiện được.

Phương thức toUpperCase() dùng tương tự như toLowerCase() vì cũng tạo so sánh bằng nhau giữa hai chuỗi.

Nếu quan tâm tìm hiểu thêm toUpperCase() và toLowerCase(), đọc về chúng trong hướng dẫn phương thức đó tại đây.

Kết Luận

Phương thức contains() của chuỗi trong Java dùng kiểm tra chuỗi có chứa chuỗi con cụ thể.

Hướng dẫn này thảo luận cách dùng contains() trong Java, cùng ví dụ giúp bạn. Ngoài ra, bao gồm cách dùng toUpperCase() và toLowerCase() thực hiện kiểm tra không phân biệt chữ hoa chữ thường dùng contains().

Bây giờ bạn sẵn sàng bắt đầu dùng phương thức contains() chuỗi Java như chuyên gia!