JavaScript Dizi Arama

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

Kişisel olarak deneyin

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

Kişisel olarak deneyin

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

Kişisel olarak deneyin

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

Kişisel olarak deneyin

lastIndexOf() Yöntem geriye doğru arar (sondan başlayarak), yani eğer ikinci parametre 15Eğ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

Kişisel olarak deneyin

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

Kişisel olarak deneyin

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

Kişisel olarak deneyin

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}

Kişisel olarak deneyin

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

Kişisel olarak deneyin

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ğruise 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

Kişisel olarak deneyin

String.startsWith()

Dizge belirli bir değere başlıyorsa startsWith() Metot doğrudan doğruise yalan:

Örnek

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // Gerçekten

Kişisel olarak deneyin

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

Kişisel olarak deneyin

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ğruise yalan:

Örnek

Dizge "Gates" ile bitip bitmediğini kontrol et:

var text = "Bill Gates";
text.endsWith("Gates")    // Gerçekten

Kişisel olarak deneyin

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

Kişisel olarak deneyin

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.