Thứ Ba, 25 tháng 6, 2019

Cách kiểm tra một chuỗi có tồn tại bên trong một chuỗi khác? | Lập trình Java

Để xác định một chuỗi có tồn tại bên trong một chuỗi khác hay không, bạn có thể sử dụng:

  • Phương thức contains()
  • Phương thức indexOf()
  • Phương thức lastIndexOf()
Cách kiểm tra một chuỗi có tồn tại bên trong một chuỗi

Cách kiểm tra một chuỗi có tồn tại bên trong một chuỗi 
(Lập trình Java)

Phương thức indexOf() chấp nhận một Chuỗi và trả về vị trí bắt đầu của chuỗi đó nếu nó tồn tại, nếu không nó sẽ trả về -1.

Ví dụ 'Đây là một chuỗi'.indexOf('là') sẽ trả về 4 nhưng 'Đây là một chuỗi'.indexOf('Java') sẽ trả về -1.

Đây là cách dễ nhất để kiểm tra nếu một Chuỗi có một chuỗi con hay không. Phương pháp thứ hai là sử dụng phương thức lastIndexOf().

Phương thức lastIndexOf() tương tự như indexOf() nhưng bắt đầu tìm kiếm từ vị trí cuối, nhưng nó cũng sẽ trả lại -1 nếu chuỗi con không tìm thấy hoặc các vị trí cuối cùng của chuỗi con.

Phương pháp thứ ba, bạn có thể sử dụng để kiểm tra nếu một chuỗi chứa một chuỗi bằng phương thức contains().

Phương thức này trả về true nếu một chuỗi được nó tìm thấy chuỗi con bên trong chuỗi cần kiểm tra, hoặc trả về false nếu không tìm thấy.

Sự khác biệt duy nhất giữa contains() và indexOf() là:

  • phương thức contains() trả về giá trị boolean
  • phương thức indexOf() trả về một số

Chúng ta hãy xem một số ví dụ của contains() và indexOf() để chứng minh làm thế nào bạn có thể sử dụng phương thức này để tìm kiếm một chuỗi trong một Chuỗi trong java.

Sử dụng phương thức indexOf() để kiểm tra chuỗi có tồn tại trong chuỗi khác hay không.

Phương thức indexOf() được sử dụng khá thường xuyên để kiểm tra ký tự trong một chuỗi, nhưng rõ ràng nó có thể được sử dụng để kiểm tra xem một chuỗi có chứa một chuỗi con khác hay không.

Do phương thức này chấp nhận ký tự đơn, ví dụ: 'a' hoặc chuỗi con, ví dụ: 'abc', về mặt kỹ thuật, cả hai đều là chuỗi con.

Điều quan trọng hơn là phương thức indexOf () trả về -1 khi không tìm thấy chuỗi bên trong chuỗi khác.

Ví dụ về cách sử dụng phương thức indexOf():


String input = "Kiểm tra một chuỗi con có tồn tại trong chuỗi";
boolean isFound = input.indexOf("tra") != -1 ? Đúng : Sai;
// Kết quả trả về Đúng


Tương tự, bạn có thể sử dụng để kiểm tra một ký tự có tồn tại trong chuỗi hay không.

boolean isExists = "Java".indexOf("J");


Một điều quan trọng cần lưu ý về phương thức indexOf() và lastIndexOf() là cả hai đều thực hiện tìm kiếm phân biệt chữ hoa chữ thường, nghĩa là nếu bạn tìm kiếm 'Java'.indexOf ('j') thì nó sẽ trả về - 1 (Có nghĩa là sai)

Tương tự, bạn có thể sử dụng phương thức lastIndexOf() như cách sử dụng phương thức indexOf().

>>> Xem cách kiểm tra một chuỗi có tồn tại bên trong chuỗi khác hay không bằng cách sử dụng hàm strpos() trong PHP.

Sử dụng phương thức contains() để kiểm tra chuỗi có tồn tại bên trong chuỗi khác hay không.


Phương thức contains() cung cấp cách tốt nhất để kiểm tra xem Chuỗi có chứa chuỗi con khác hay không.

Nó hợp ngữ cảnh của câu hỏi và trả về boolean, có nghĩa là bạn có thể trực tiếp sử dụng nó bên trong cấu trúc if.

Phương thức chứa trả về true khi và chỉ khi chuỗi này chứa chuỗi giá trị char được chỉ định.

Nó cũng ném NullPulumException nếu chuỗi con được truyền cho nó là null.

Vấn đề duy nhất với phương thức contains() là nó đã được thêm vào Java 1.5, có nghĩa là bạn không thể sử dụng nó trên phiên bản trước. Mặt khác, phương thức indexOf() tồn tại từ JDK 1.0 để bạn có thể sử dụng nó ở mọi nơi.

Ví dụ về cách sử dụng phương thức contains():


String test = "Học lập trình Java tại NIIT";
boolean isFound = text.contains("NIIT"); // true



Tương tự như phương thức indexOf() cũng thực hiện tìm kiếm phân biệt chữ hoa chữ thường, vì vậy khi kiểm tra bạn cần lưu ý thêm vấn đề Hoa hay Thường.

Nếu bạn muốn thực hiện tìm kiếm không phân biệt chữ hoa chữ thường thì hãy sử dụng cùng một kỹ thuật, chuyển đổi cả chuỗi đầu vào và chuỗi tìm kiếm trong về cùng kiểu và sau đó gọi phương thức contains().

Tổng kết.

Có nhiều cách để kiểm tra một chuỗi có tồn tại bên trong một chuỗi khác hay không trong lập trình Java. Bạn có thể sử dụng phương thức indexOf(), contains() hoặc cũng có thể sử dụng Biểu thức chính quy.

> Nếu bạn muốn học Java bài bản hơn thì hãy đăng ký ngay Khóa học Java: https://niithanoi.edu.vn/khoa-hoc-java-fullstack.html


Share:

0 nhận xét:

Đăng nhận xét

Fanpage

Tổng số lượt xem trang