Tìm kiếm chuỗi JavaScript
Phương pháp tìm kiếm chuỗi
Chỉ mục chuỗi JavaScriptOf()
Phương thức indexOf()
trả về chỉ mục (vị trí) của lần xuất hiện đầu tiên của một chuỗi trong chuỗi hoặc trả về -1 nếu không tìm thấy chuỗi:
Ví dụ
let text = "Please locate where 'locate' occurs!";
let index = text.indexOf("locate");
Hãy tự mình thử »Ghi chú
JavaScript đếm các vị trí từ số 0.
0 là vị trí đầu tiên trong chuỗi, 1 là vị trí thứ hai, 2 là vị trí thứ ba, ...
Chuỗi JavaScript LastIndexOf()
Phương thức lastIndexOf()
trả về chỉ mục lần xuất hiện cuối cùng của văn bản được chỉ định trong chuỗi:
Ví dụ
let text = "Please locate where 'locate' occurs!";
let index = text.lastIndexOf("locate");
Hãy tự mình thử » Cả indexOf()
và lastIndexOf()
đều trả về -1 nếu không tìm thấy văn bản:
Ví dụ
let text = "Please locate where 'locate' occurs!";
let index = text.lastIndexOf("John");
Hãy tự mình thử »Cả hai phương pháp đều chấp nhận tham số thứ hai làm vị trí bắt đầu tìm kiếm:
Ví dụ
let text = "Please locate where 'locate' occurs!";
let index = text.indexOf("locate", 15);
Hãy tự mình thử » Các phương thức lastIndexOf()
tìm kiếm ngược (từ đầu đến cuối), nghĩa là: nếu tham số thứ hai là 15
, tìm kiếm bắt đầu ở vị trí 15 và tìm kiếm đến đầu chuỗi.
Ví dụ
let text = "Please locate where 'locate' occurs!";
text.lastIndexOf("locate", 15);
Hãy tự mình thử »Tìm kiếm chuỗi JavaScript()
Phương thức search()
tìm kiếm một chuỗi cho một chuỗi (hoặc một biểu thức chính quy) và trả về vị trí của kết quả khớp:
Ví dụ
let text = "Please locate where 'locate' occurs!";
text.search("locate");
Hãy tự mình thử »
let text = "Please locate where 'locate' occurs!";
text.search(/locate/);
Hãy tự mình thử »Bạn có để ý không?
Hai phương thức, indexOf()
và search()
, có bằng nhau không?
Họ chấp nhận cùng một đối số (tham số) và trả về cùng một giá trị?
Hai phương pháp KHÔNG bằng nhau. Đây là những khác biệt:
- Phương thức
search()
không thể lấy đối số vị trí bắt đầu thứ hai. - Phương thức
indexOf()
không thể lấy các giá trị tìm kiếm mạnh (biểu thức chính quy).
Bạn sẽ tìm hiểu thêm về biểu thức chính quy trong chương sau.
Kết hợp chuỗi JavaScript()
Phương thức match()
trả về một mảng chứa kết quả khớp một chuỗi với một chuỗi (hoặc một biểu thức chính quy).
Ví dụ
Thực hiện tìm kiếm "ain":
let text = "The rain in SPAIN stays mainly in the plain";
text.match("ain");
Hãy tự mình thử »Thực hiện tìm kiếm "ain":
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/);
Hãy tự mình thử »Thực hiện tìm kiếm toàn cầu cho "ain":
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/g);
Hãy tự mình thử »Thực hiện tìm kiếm toàn cục, không phân biệt chữ hoa chữ thường cho "ain":
let text = "The rain in SPAIN stays mainly in the plain";
text.match(/ain/gi);
Hãy tự mình thử »Ghi chú
Nếu một biểu thức chính quy không bao gồm công cụ sửa đổi g (tìm kiếm toàn cục), match()
sẽ chỉ trả về kết quả khớp đầu tiên trong chuỗi.
Đọc thêm về biểu thức chính quy trong chương JS RegExp .
Chuỗi JavaScript matchAll()
Phương thức matchAll()
trả về một trình vòng lặp chứa kết quả khớp một chuỗi với một chuỗi (hoặc một biểu thức chính quy).
Nếu tham số là một biểu thức chính quy thì cờ chung (g) phải được đặt, nếu không thì lỗi TypeError sẽ được đưa ra.
Nếu bạn muốn tìm kiếm không phân biệt chữ hoa chữ thường, phải đặt cờ không phân biệt chữ hoa chữ thường (i):
Chuỗi JavaScript bao gồm()
Phương thức includes()
trả về true nếu một chuỗi chứa một giá trị được chỉ định.
Nếu không nó sẽ trả về false
.
Ví dụ
Kiểm tra xem một chuỗi có bao gồm "thế giới" hay không:
let text = "Hello world, welcome to the universe.";
text.includes("world");
Hãy tự mình thử »Kiểm tra xem chuỗi có bao gồm "thế giới" hay không. Bắt đầu ở vị trí 12:
let text = "Hello world, welcome to the universe.";
text.includes("world", 12);
Hãy tự mình thử »Ghi chú
includes()
phân biệt chữ hoa chữ thường.
includes()
là một tính năng ES6 .
includes()
không được hỗ trợ trong Internet Explorer.
Chuỗi JavaScript bắt đầuVới()
Phương thức startsWith()
trả về true
nếu một chuỗi bắt đầu bằng một giá trị được chỉ định.
Ngược lại nó trả về false
:
Ví dụ
Trả về đúng:
let text = "Hello world, welcome to the universe.";
text.startsWith("Hello");
Hãy tự mình thử »Trả về sai:
let text = "Hello world, welcome to the universe.";
text.startsWith("world")
Hãy tự mình thử »Vị trí bắt đầu tìm kiếm có thể được chỉ định:
Trả về sai:
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)
Hãy tự mình thử »Trả về đúng:
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)
Hãy tự mình thử »Ghi chú
startsWith()
phân biệt chữ hoa chữ thường.
startsWith()
là một tính năng ES6 .
startsWith()
không được hỗ trợ trong Internet Explorer.
Chuỗi JavaScript kết thúcVới()
Phương thức endsWith()
trả về true
nếu chuỗi kết thúc bằng một giá trị được chỉ định.
Ngược lại nó trả về false
:
Ví dụ
Kiểm tra xem chuỗi có kết thúc bằng "Doe" hay không:
let text = "John Doe";
text.endsWith("Doe");
Hãy tự mình thử »Kiểm tra xem 11 ký tự đầu tiên của chuỗi có kết thúc bằng "world" hay không:
let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11);
Ghi chú
endsWith()
phân biệt chữ hoa chữ thường.
endsWith()
là một tính năng của ES6 .
endsWith()
không được hỗ trợ trong Internet Explorer.
Tham chiếu chuỗi hoàn chỉnh
Để có tài liệu tham khảo Chuỗi đầy đủ, hãy truy cập:
Tham chiếu chuỗi JavaScript hoàn chỉnh .
Tham chiếu chứa các mô tả và ví dụ về tất cả các thuộc tính và phương thức chuỗi.