Pencarian String JavaScript

Metode JavaScript untuk mencari string:

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() Metode mengembalikan teks yang ditentukan di dalam stringKali pertamaIndeks muncul (lokasi) adalah:

Contoh

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate")    // kembalikan 7

亲自试一试

JavaScript menghitung posisi dari nol.

0 adalah lokasi pertama di string, 1 adalah kedua, 2 adalah ketiga ......

String.lastIndexOf()

lastIndexOf() Kaedah mengembalikan indeks terakhir penjumpaan teks yang ditetapkan di dalam string:

Contoh

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate")    // mengembalikan 21

亲自试一试

jika tiada teks yang ditemui,indexOf() dan lastIndexOf() mengembalikan -1:

Contoh

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("Bill")    // mengembalikan -1

亲自试一试

Kedua kaedah ini menerima parameter kedua sebagai posisi mula carian:

Contoh

let str = "Please locate where 'locate' occurs!";
str.indexOf("locate", 15)    // mengembalikan 21

亲自试一试

lastIndexOf() Kaedah mencari dari belakang ke hadapan (dari akhir ke permulaan), artinya: jika parameter kedua adalah 15jika daripada posisi 15 mula mencari, mencari sehingga mulai di permulaan string.

Contoh

let str = "Please locate where 'locate' occurs!";
str.lastIndexOf("locate", 15)    // mengembalikan 7

亲自试一试

String.search()

search() Kaedah mencari nilai yang ditetapkan di dalam string dan mengembalikan posisi yang disesuaikan:

Contoh

let str = "Please locate where 'locate' occurs!";
str.search("locate")     // mengembalikan 7

亲自试一试

Anda perhatikankah?

indexOf() dan search() Kedua kaedah ini, samakah mereka?

Mereka menerima parameter yang sama dan mengembalikan nilai yang sama?

Kedua kaedah ini tidak sepadan. Perbezaan seperti berikut:

  • search() Kaedah ini tidak boleh menerima parameter mulai kedua posisi.
  • indexOf() Kaedah ini tidak boleh menggunakan nilai carian yang kuat (ekspresi reguler).

Anda akan belajar lebih banyak tentang ekspresi reguler di bab berikutnya.

String.match()

Kaedah match() mencari kepadatan yang sepadan dengan ekspresi reguler di dalam string dan mengembalikan kepadatan yang sepadan sebagai objek Array.

Contoh 1

Cari "ain" di dalam string:

let text = "Hujan di SPAIN utamanya tinggal di permukaan.";
text.match(/ain/g)    // mengembalikan array [ain,ain,ain]

亲自试一试

Belajar lebih banyak tentang ekspresi reguler di bab JS RegExp.

Jika ekspresi reguler tidak mengandungi modis g (melakukan carian global), kaedah match() hanya akan mengembalikan kepadatan pertama di dalam string.

Syntax

.match(regexp)
regexp Wajib. Nilai carian, adalah ekspresi reguler.
Kembalikan: Array, mengandungi kepadatan, setiap kepadatan sepadan dengan projek, jika tiada kepadatan, maka null.

Contoh 2

Cari "ain" dengan carian tak berbeza besarnya huruf:

let text = "Hujan di SPAIN utamanya tinggal di permukaan.";
text.match(/ain/gi)   // Pulang array [ain,AIN,ain,ain]

亲自试一试

String.includes()

Jika string mengandungi nilai yang ditentukan,includes() Method mengembalikan true.

Contoh

let text = "Hello world, welcome to the universe.";
text.includes("world")    // Pulang true

亲自试一试

Penerimaan pelayar

Internet Explorer tidak mendukung String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
2015 Bulan Mac 2015 Bulan Julai 2015 Bulan Ogos 2015 Bulan Oktober 2015 Bulan Mac

Syntax

.includes(searchvalue, start)
searchvalue Wajib. Perlu cari string.
start Pilihan. Lalai adalah 0. Tempat mulai mencari.
Kembalikan: Jika string mengandungi nilai itu, kembalikan true,jika bukan kembalikan false
Versi JS: ES6 (2015)

Periksa sama ada string mengandungi "world", dari tempat 12 mula mencari:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // Pulang false

亲自试一试

String.startsWith()

Jika string mengawali nilai yang ditentukan, maka startsWith() Method mengembalikan true,jika bukan kembalikan false:

Contoh

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // Pulang true

亲自试一试

Syntax

.startsWith(searchvalue, start)

Nilai parameter

Parameter Description
searchvalue Wajib. Perlu mencari nilai.
start Pilihan. Lalai adalah 0. Tempat mulai mencari.

Contoh

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // Pulang false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // Pulang false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // Pulang true

亲自试一试

注释:startsWith() 方法区分大小写。

Internet Explorer 不支持 startsWith() 方法。

Versi penuh penerimaan paling pertama adalah:

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
2015 Bulan Mac 2015 Bulan Julai 2015 Bulan Ogos 2015 Bulan Oktober 2015 Bulan Mac

String.endsWith()

Jika string mengakhiri dengan nilai yang ditentukan, maka endsWith() Method mengembalikan true,jika bukan kembalikan false:

Contoh

Periksa sama ada string mengakhiri dengan "Gates":

var text = "Bill Gates";
text.endsWith("Gates")    // Pulang true

亲自试一试

Syntax

.endsWith(searchvalue, length)

Nilai parameter

Parameter Description
searchvalue Wajib. Perlu mencari nilai.
length 可选。要搜索的长度。

检索以 "world" 结尾的字符串的前 11 个字符:

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // 返回 true

亲自试一试

注释:endsWith() 方法区分大小写。

Internet Explorer 不支持 endsWith() 方法。

第一个完全支持该方法的浏览器版本是:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
2016 年 5 月 2017 年 4 月 2017 年 6 月 2016 年 9 月 2016 年 6 月

完整字符串参考手册

如需完整参考,请访问我们的完整 JavaScript 字符串参考手册

该手册包含所有字符串属性和方法的描述和实例。