JavaScript Dizi Metotları
- Önceki Sayfa JS Dizgi
- Sonraki Sayfa JS Dizgi Arama
字符串方法帮助您处理字符串。
字符串方法和属性
原始值,比如“Bill Gates”,无法拥有属性和方法(因为它们不是对象)。
但是通过 JavaScript,方法和属性也可用于原始值,因为在执行方法和属性时 JavaScript 将原始值视为对象。
字符串长度
length
属性返回字符串的长度:
Örnek
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
查找字符串中的字符串
indexOf()
方法返回字符串中指定文本首次出现的索引(位置):
Örnek
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China");
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");
如果未找到文本, indexOf()
和 lastIndexOf()
均返回 -1。
Örnek
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("USA");
两种方法都接受作为检索起始位置的第二个参数。
Örnek
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China", 18);
lastIndexOf()
方法向后进行检索(从尾到头),这意味着:假如第二个参数是 50,则从位置 50 开始检索,直到字符串的起点。
Örnek
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China", 50);
检索字符串中的字符串
search()
方法搜索特定值的字符串,并返回匹配的位置:
Örnek
var str = "The full name of China is the People's Republic of China."; var pos = str.search("locate");
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
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
Eğer ikinci parametre atlanırsa, bu yöntem dize kalan kısmını keser:
Örnek
var res = str.slice(7);
veya sonundan sayarak:
Örnek
var res = str.slice(-13);
İ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
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
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);
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);
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");
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");
Ö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");
Buyuk/küçük harf duyarsız değiştirme yapmak için düzenli ifadenin /i
Düzenli ifadeler (buyuk/küçük harf duyarsız):
Örnek
str = "Please visit Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
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");
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
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
concat() yöntemi
concat()
İki veya daha fazla dizgeyi birleştirme:
Örnek
var text1 = "Hello"; var text2 = "World"; text3 = text1.concat(" ",text2);
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.
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, ''));
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());
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
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
Ö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
Ö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ürtanımlanmamış
vecharAt()
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
İ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
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("\""
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.
- Önceki Sayfa JS Dizgi
- Sonraki Sayfa JS Dizgi Arama