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 15
jika 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 月 |