JavaScript Dizi Arama
- Önceki Sayfa JS Dizgi Metodu
- Sonraki Sayfa JS Dizgi Şablonu
Dizgeyi aramak için kullanılan JavaScript yöntemi:
- String.indexOf()
- String.lastIndexOf()
- String.startsWith()
- String.endsWith()
String.indexOf()
indexOf()
Yöntem, belirli metni dizge içindeİlkÇıkan (konumun) indeksi:
Örnek
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate") // 7 döndürür
JavaScript sıfırdan başlar.
0, dizge içindeki ilk konum, 1, ikinci, 2, üçüncü ...
String.lastIndexOf()
lastIndexOf()
Yöntem belirtilen metnin dizgide son kez出现的索引 döndürür:
Örnek
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate") // 21 döndürür
Eğer metin bulunamazsaindexOf()
ve lastIndexOf()
Her ikisi de -1 döndürür:
Örnek
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("Bill") // -1 döndürür
Bu iki yöntem de ikinci parametreyi arama başlangıç konumu olarak alır:
Örnek
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate", 15) // 21 döndürür
lastIndexOf()
Yöntem geriye doğru arar (sondan başlayarak), yani eğer ikinci parametre 15
Eğer ikinci parametre belirtilirse (15), o konumdan başlayarak dizginin başına kadar arama yapılır.
Örnek
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // 7 döndürür
String.search()
search()
Yöntem dizgide belirtilen değeri arar ve eşleşen konumu döndürür:
Örnek
let str = "Please locate where 'locate' occurs!"; str.search("locate") // 7 döndürür
Bunu fark ettiniz mi?
indexOf()
ve search()
Bu iki yöntem, eşittir mi?
Aynı parametreleri alır ve aynı değeri döndürürler mi?
Bu iki yöntem eşittir. Aşağıdaki gibi farklar vardır:
search()
Yöntem ikinci başlangıç konumunu alamaz.indexOf()
Yöntem güçlü arama değerlerini (düzenli ifade) kullanamaz.
Düzenli ifadeler hakkında daha fazla bilgiyi sonraki bölümlerde öğreneceksiniz.
String.match()
match() yöntemi düzenli ifadenin dizgide arama yapar ve eşleşen öğeleri dizgi nesnesi olarak döndürür.
Örnek 1
Dizgide "ain" arama yapın:
let text = "The rain in SPAIN stays mainly in the plain"; text.match(/ain/g) // Dizgi [ain,ain,ain] döndürür
JS RegExp bölümünde düzenli ifadeler hakkında daha fazla bilgi öğrenin.
Eğer regulat ifadesi g修饰atörünü içermiyorsa (tam arama gerçekleştirir), match() yöntemi sadece dizginin ilk eşleşen öğesini döndürecektir.
Gramer
dizge.match(regexp)
regexp | Gerekli. Arama yapılacak değer, bir düzenli ifade. |
Geri dön: | Dizgi, eşleşen öğeler içeren bir dizi, eşleşen öğe yoksa null. |
Örnek 2
"ain" eksenli büyük/küçük harf duyarsız global arama gerçekleştirin:
let text = "The rain in SPAIN stays mainly in the plain"; text.match(/ain/gi) // Dizge [ain,AIN,ain,ain] döner}
String.includes()
Dizge belirli bir değeri içeriyorsaincludes()
Metot doğru döner.
Örnek
let text = "Hello world, welcome to the universe."; text.includes("world") // Gerçekten
Tarayıcı desteği
Internet Explorer String.includes() desteklemiyor.
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 40 | Safari 9 | Opera 28 |
2015 Yılı 3 Ayı | 2015 Yılı 7 Ayı | 2015 Yılı 8 Ayı | 2015 Yılı 10 Ayı | 2015 Yılı 3 Ayı |
Gramer
dizge.includes(searchvalue, başlangıç)
searchvalue | Gerekli. Aranacak dizge. |
başlangıç | Opsiyonel. Varsayılan 0. Arama başlangıç konumu. |
Geri dön: | Dizge belirli bir değeri içeriyorsa doğru ise yalan . |
JS Sürümü: | ES6 (2015) |
Dizge "world" içerip içermediğini kontrol et, 12 konumundan başlayarak:
let text = "Hello world, welcome to the universe."; text.includes("world", 12) // Yalan
String.startsWith()
Dizge belirli bir değere başlıyorsa startsWith()
Metot doğrudan doğru
ise yalan
:
Örnek
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // Gerçekten
Gramer
dizge.startsWith(searchvalue, başlangıç)
Parametre değeri
Parametre | Açıklama |
---|---|
searchvalue | Gerekli. Aranacak değeri. |
başlangıç | Opsiyonel.Varsayılan 0. Arama başlangıç konumu. |
Örnek
let text = "Hello world, welcome to the universe."; text.startsWith("world") // Yalan
let text = "Hello world, welcome to the universe."; text.startsWith("world", 5) // Yalan
let text = "Hello world, welcome to the universe."; text.startsWith("world", 6) // Gerçekten
Açıklama:startsWith()
Yöntem büyük/küçük harfe duyarlıdır.
Internet Explorer desteklemiyor startsWith()
Yöntem.
Tamamen desteklenen ilk tarayıcı sürümü:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 17 | Safari 9 | Opera 28 |
2015 Yılı 3 Ayı | 2015 Yılı 7 Ayı | 2015 Yılı 8 Ayı | 2015 Yılı 10 Ayı | 2015 Yılı 3 Ayı |
String.endsWith()
Dizge belirli bir değere bitiyorsa endsWith()
Metot doğrudan doğru
ise yalan
:
Örnek
Dizge "Gates" ile bitip bitmediğini kontrol et:
var text = "Bill Gates"; text.endsWith("Gates") // Gerçekten
Gramer
dizge.endsWith(searchvalue, length)
Parametre değeri
Parametre | Açıklama |
---|---|
searchvalue | Gerekli. Aranacak değeri. |
length | Opsiyonel. Aranacak uzunluk. |
"world" ile biten dizginin ön 11 karakterini arayın:
let text = "Hello world, welcome to the universe."; text.endsWith("world", 11) // Gerçekten true döner
Açıklama:endsWith()
Yöntem büyük/küçük harfe duyarlıdır.
Internet Explorer desteklemiyor endsWith()
Yöntem.
Bu yöntemi tam olarak destekleyen ilk tarayıcı sürümü:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016 Mayıs | 2017 Nisan | 2017 Haziran | 2016 Eylül | 2016 Haziran |
Tam Dizgi Referans Kılavuzu
Tam referans için lütfen tam referans sayfamızı ziyaret edin JavaScript Dizgi Kaynak Kılavuzu.
Bu el kitabı tüm dizgi özellikleri ve yöntemlerinin açıklamalarını ve örneklerini içerir.
- Önceki Sayfa JS Dizgi Metodu
- Sonraki Sayfa JS Dizgi Şablonu