JavaScript Dizi Metotları

字符串方法帮助您处理字符串。

字符串方法和属性

原始值,比如“Bill Gates”,无法拥有属性和方法(因为它们不是对象)。

但是通过 JavaScript,方法和属性也可用于原始值,因为在执行方法和属性时 JavaScript 将原始值视为对象。

字符串长度

length 属性返回字符串的长度:

Örnek

var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
var sln = txt.length;

Deneyin

查找字符串中的字符串

indexOf() 方法返回字符串中指定文本首次出现的索引(位置):

Örnek

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China");

Deneyin

JavaScript 从零计算位置。

0 是字符串中的第一个位置,1 是第二个,2 是第三个 ...

lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引:

Örnek

var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China");

Deneyin

如果未找到文本, indexOf()lastIndexOf() 均返回 -1。

Örnek

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("USA");

Deneyin

两种方法都接受作为检索起始位置的第二个参数。

Örnek

var str = "The full name of China is the People's Republic of China.";
var pos = str.indexOf("China", 18);

Deneyin

lastIndexOf() 方法向后进行检索(从尾到头),这意味着:假如第二个参数是 50,则从位置 50 开始检索,直到字符串的起点。

Örnek

var str = "The full name of China is the People's Republic of China.";
var pos = str.lastIndexOf("China", 50);

Deneyin

检索字符串中的字符串

search() 方法搜索特定值的字符串,并返回匹配的位置:

Örnek

var str = "The full name of China is the People's Republic of China.";
var pos = str.search("locate");

Deneyin

Dikkat ettiniz mi?

两种方法,indexOf() ve search()eşittir.

Bu iki yöntem eşittir. Fark,

  • search() yöntemi ikinci başlangıç konumu parametresini ayarlayamaz.
  • indexOf() yöntemi daha güçlü arama değerlerini (daha güçlü düzenli ifadeleri) ayarlayamaz.

Bu bölümlerdeDüzenli ifadebölümlerini öğrenmek için bu daha güçlü arama değerlerini.

Dize kısmını çıkarma

Dize kısmını çıkarmak için üç yöntem vardır:

  • slice(start, end)
  • substring(start, end)
  • substr(start, length)

slice() yöntemi

slice() Dize içindeki bir kısmı çıkarır ve yeni bir dize içinde bu çıkarılan kısmı döndürür.

Bu yöntem iki parametre ayarlar: başlangıç indeksi (başlangıç konumu), bitiş indeksi (bitiş konumu).

Bu örnek, dize içinde 7 konumundan 13 konumuna kadar olan parçayı keser:

Örnek

var str = "Apple, Banana, Mango";
var res = str.slice(7,13);

res sonucu şu şekildedir:

Banana

Deneyin

Eğer bir parametre negatifse, dize sonundan başlanır.

Bu örnek, dize içinde -12 konumundan -6 konumuna kadar olan parçayı keser:

Örnek

var str = "Apple, Banana, Mango";
var res = str.slice(-13,-7);

res sonucu şu şekildedir:

Banana

Deneyin

Eğer ikinci parametre atlanırsa, bu yöntem dize kalan kısmını keser:

Örnek

var res = str.slice(7);

Deneyin

veya sonundan sayarak:

Örnek

var res = str.slice(-13);

Deneyin

İpucu:Negatif değer pozisyonları, Internet Explorer 8 ve daha eski sürümlerde geçerli değildir.

substring() yöntemi

substring() benzerdir slice().

Fark, substring() Negatif indeksleri kabul etmez.

Örnek

var str = "Apple, Banana, Mango";
var res = str.substring(7,13);

res sonucu şu şekildedir:

Banana

Deneyin

Eğer ikinci parametre atlanırsa, bu substring() Dize kalan kısmı keser.

substr() yöntemi

substr() benzerdir slice().

Fark, ikinci parametre tarafından tanımlanan alınıan kısmınUzunluk.

Örnek

var str = "Apple, Banana, Mango";
var res = str.substr(7,6);

res sonucu şu şekildedir:

Banana

Deneyin

Eğer ikinci parametre atlanırsa, bu substr() dize kalan kısmını keser.

Örnek

var str = "Apple, Banana, Mango";
var res = str.substr(7);

Deneyin

res sonucu şu şekildedir:

Banana, Mango

Eğer ilk parametre negatifse, dize sonundan pozisyon hesaplanır.

Örnek

var str = "Apple, Banana, Mango";
var res = str.substr(-5);

Deneyin

res sonucu şu şekildedir:

Mango

İkinci parametre negatif olamaz çünkü bu, uzunluğu tanımlar.

Dize içerik değiştirme

replace() Dizide belirtilen değeri bir başka değere değiştirmek için yöntem:

Örnek

str = "Please visit Microsoft!";
var n = str.replace("Microsoft", "W3School");

Deneyin

replace() Yöntem, çağırdığı dizgeyi değiştirmez. Yeni bir dizge döndürür.

Öntanımlı olarakreplace() Yalnızca ilk eşleşmeyi değiştirir:

Örnek

str = "Please visit Microsoft and Microsoft!";
var n = str.replace("Microsoft", "W3School");

Deneyin

Öntanımlı olarakreplace() Buyuk/küçük harf duyarlıdır. Bu yüzden MICROSOFT ile eşleşenleri değiştirmez:

Örnek

str = "Please visit Microsoft!";
var n = str.replace("MICROSOFT", "W3School");

Deneyin

Buyuk/küçük harf duyarsız değiştirme yapmak için düzenli ifadenin /iDüzenli ifadeler (buyuk/küçük harf duyarsız):

Örnek

str = "Please visit Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");

Deneyin

Lütfen düzenli ifadeleri çift tırnak içinde kullanmayın.

Tüm eşleşmeleri değiştirmek için düzenli ifadenin g İşaretler (küme arama için kullanılır):

Örnek

str = "Please visit Microsoft and Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");

Deneyin

JavaScript düzenli ifadeleri bölümünde daha fazla şey öğreneceksinizDüzenli ifadeiçeriği.

Büyük ve küçük harflere dönüştürme

Yoluyla toUpperCase() Dizgeyi büyük harflere dönüştürme:

Örnek

var text1 = "Hello World!";       // dizge
var text2 = text1.toUpperCase();  // text2, büyük harflere dönüştürülmüş text1

Deneyin

Yoluyla toLowerCase() Dizgeyi küçük harflere dönüştürme:

Örnek

var text1 = "Hello World!";       // dizge
var text2 = text1.toLowerCase();  // text2, küçük harflere dönüştürülmüş text1

Deneyin

concat() yöntemi

concat() İki veya daha fazla dizgeyi birleştirme:

Örnek

var text1 = "Hello";
var text2 = "World";
text3 = text1.concat(" ",text2);

Deneyin

concat() Yöntemler, eklem operatörü yerine kullanılabilir. Aşağıdaki iki satır eşdeğerdir:

Örnek

var text = "Hello" + " " + "World!";
var text = "Hello".concat(" ","World!");

Tüm dizge yöntemleri yeni bir dizge döndürür. Onlar orijinal dizgeyi değiştirmez.

Resmi olarak: Dizge değiştirilemez: Dizge değiştirilemez, sadece değiştirilebilir.

String.trim()

trim() Metin iki ucundaki boşlukları silen yöntem:

Örnek

var str = "       Hello World!        ";
alert(str.trim());

Uyarı:Internet Explorer 8 veya daha eski sürümler desteklememektedir trim() yöntemi.

Deneyin

IE 8'ye destek için, regulär ifadelerle birlikte kullanabilirsiniz replace() Yerine getiren yöntem:

Örnek

var str = "       Hello World!        ";
alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));

Deneyin

Ayrıca, trim fonksiyonunu JavaScript String.prototype'na eklemek için yukarıdaki replace方案 kullanabilirsiniz:

Örnek

if (!String.prototype.trim) {
  String.prototype.trim = function () {
    return this.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, '');
};
var str = "       Hello World!        ";
alert(str.trim());

Deneyin

Dize Karakterlerini Çıkarma

Bu, dize karakterlerini çıkarmak için iki yöntemdirGüvenliYöntem:

  • charAt(position)
  • charCodeAt(position)

charAt() yöntemi

charAt() Belirtilen alt indeksteki dizgeyi döndüren yöntem:

Örnek

var str = "HELLO WORLD";
str.charAt(0);            // H döndürür

Deneyin

charCodeAt() yöntemi

charCodeAt() Metinde belirtilen indeksteki karakterin unicode kodunu döndüren yöntem:

Örnek

var str = "HELLO WORLD";
str.charCodeAt(0);         // 72 döndürür

Deneyin

Özellik Erişimi (Property Access)

ECMAScript 5 (2009), dizgelerin özellik erişimini [ ] izin verir:

Örnek

var str = "HELLO WORLD";
str[0];                   // Geri H döndürür

Deneyin

Özellik erişimi biraz güvenilir değil:

  • Internet Explorer 7 veya daha eski sürümler için geçerli değil
  • Dizeye dizgi gibi görünmesini sağlar (aslında değil)
  • Karakter bulunamazsa[ ] Döndürür tanımlanmamışve charAt() Boş bir dize döndürür.
  • Sadece okunabilir.str[0] = "A" Hata oluşturmez (ama çalışmaz!)

Örnek

var str = "HELLO WORLD";
str[0] = "A";             // Hata oluşturmez, ancak çalışmaz
str[0];                   // Geri H döndürür

Deneyin

İpucu:Eğer dizgeyi dizge olarak işlemek istiyorsanız, önce onu dizgeye dönüştürebilirsiniz.

Dizgiyi dizgeye dönüştürmek

Yöntemle split() Dizgiyi dizgeye dönüştür:

Örnek

var txt = "a,b,c,d,e";   // Dizgi
txt.split(",");          // Virgüle ayır
txt.split(" ");          // Boşluğa ayır
txt.split("|");          // Çizgiye ayır

Deneyin

Eğer ayırıcı atlanırsa, döndürülen dizgi, index [0] içindeki tüm dizgiyi içerecektir.

Eğer ayırıcı "" ise, döndürülen dizgi, tek karakter aralıklarla ayırılmış bir dizgi olacaktır:

Örnek

var txt = "Hello";       // Dizgi
txt.split("\""

Deneyin

Tam String Referans Kılavuzu

Tam referans kılavuzu için lütfen tam JavaScript Dizgi Referans Kılavuzu.

Bu el kitabı, tüm dizgi özellikleri ve yöntemleri ile örneklerin açıklamalarını içerir.