JavaScript merkkijonometodit
- Edellinen sivu JS-merkkijono
- Seuraava sivu JS-merkkijonon-haku
字符串方法帮助您处理字符串。
字符串方法和属性
原始值,比如“Bill Gates”,无法拥有属性和方法(因为它们不是对象)。
但是通过 JavaScript,方法和属性也可用于原始值,因为在执行方法和属性时 JavaScript 将原始值视为对象。
字符串长度
length
属性返回字符串的长度:
Esimerkki
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
查找字符串中的字符串
indexOf()
方法返回字符串中指定文本首次出现的索引(位置):
Esimerkki
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China");
JavaScript 从零计算位置。
0 是字符串中的第一个位置,1 是第二个,2 是第三个 ...
lastIndexOf()
方法返回指定文本在字符串中最后一次出现的索引:
Esimerkki
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China");
如果未找到文本, indexOf()
和 lastIndexOf()
均返回 -1。
Esimerkki
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("USA");
两种方法都接受作为检索起始位置的第二个参数。
Esimerkki
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China", 18);
lastIndexOf()
方法向后进行检索(从尾到头),这意味着:假如第二个参数是 50,则从位置 50 开始检索,直到字符串的起点。
Esimerkki
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China", 50);
检索字符串中的字符串
search()
方法搜索特定值的字符串,并返回匹配的位置:
Esimerkki
var str = "The full name of China is the People's Republic of China."; var pos = str.search("locate");
Oletko huomannut sen?
两种方法,indexOf()
ja search()
,onSamanarvoiset.
Nämä kaksi menetelmää ovat eriäviä. Ero on siinä:
- search() -menetelmä ei voi asettaa toista alkusijaintiparametria.
- indexOf() -menetelmä ei voi asettaa vahvempia hakuarvoja(säännöllinen lauseke).
TutustutRegulaarinen lausekeopit nämä vahvemmat hakuarvot.
Poimi osa merkkijonosta
On kolme tapaa poimia osa merkkijonosta:
- slice(start, end)
- substring(start, end)
- substr(start, length)
slice() -menetelmä
slice()
Poimi merkkijonon osa ja palauta poimittu osa uudessa merkkijonossa.
Tämä menetelmä asettaa kaksi parametria:alkusijainnin(alkupaikka),loppusijainnin(loppupaikka).
Tämä esimerkki leikkaa merkkijonon osan 7:stä 13:een.
Esimerkki
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
res tulostuloksen on:
Banana
Jos jokin parametri on negatiivinen,sijoitus lasketaan merkkijonon lopusta.
Tämä esimerkki leikkaa merkkijonon osan -12:sta -6:een.
Esimerkki
var str = "Apple, Banana, Mango"; var res = str.slice(-13,-7);
res tulostuloksen on:
Banana
Jos toista parametria ei mainita,tämä menetelmä leikkaa merkkijonon jäljelle jäävän osan:
Esimerkki
var res = str.slice(7);
Tai laske alusta loppuun:
Esimerkki
var res = str.slice(-13);
Vinkki:Negatiiviset sijainnit eivät ole käytettävissä Internet Explorer 8 ja aikaisemmissa versioissa.
substring() -menetelmä
substring()
On samanlainen slice()
.
Ero on siinä substring()
Negatiiviset indeksit eivät ole sallittuja.
Esimerkki
var str = "Apple, Banana, Mango"; var res = str.substring(7,13);
res tulostuloksen on:
Banana
Jos toista parametria ei mainita,tämä substring()
Leikkaa merkkijonon jäljelle jäävän osan.
substr() -menetelmä
substr()
On samanlainen slice()
.
Ero on siinä,että toinen parametri määrittää poistettavan osanPituus.
Esimerkki
var str = "Apple, Banana, Mango"; var res = str.substr(7,6);
res tulostuloksen on:
Banana
Jos toista parametria ei mainita,tämä substr() leikkaa merkkijonon jäljelle jäävän osan.
Esimerkki
var str = "Apple, Banana, Mango"; var res = str.substr(7);
res tulostuloksen on:
Banana, Mango
Jos ensimmäinen parametri on negatiivinen,sijoitus lasketaan merkkijonon lopusta.
Esimerkki
var str = "Apple, Banana, Mango"; var res = str.substr(-5);
res tulostuloksen on:
Mango
Toisen parametrin ei voi olla negatiivinen,koska se määrittää pituuden。
Korvaa merkkijonon sisältö
replace()
Metodi korvaa merkkijonossa määritetyn arvon toisella arvolla:
Esimerkki
str = "Please visit Microsoft!"; var n = str.replace("Microsoft", "W3School");
replace()
menetelmä ei muuta sitä merkkijonoa, jota se kutsuu. Se palauttaa uuden merkkijonon.
Oletusarvoisesti,replace()
korvataan vain ensimmäinen vastaava:
Esimerkki
str = "Please visit Microsoft and Microsoft!"; var n = str.replace("Microsoft", "W3School");
Oletusarvoisesti,replace()
Oletetaan, että korvaus on suurta ja pientä kirjainta tietoinen. Näin ollen ei korvata:
Esimerkki
str = "Please visit Microsoft!"; var n = str.replace("MICROSOFT", "W3School");
Jos haluat suorittaa suurta ja pientä kirjainta ei huomioiva korvaus, käytä regulaarisen lausekkeen /i
((ei huomioi suurta ja pientä kirjainta)):
Esimerkki
str = "Please visit Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
Huomaa, että regulaarinen lauseke ei sisällä lainausmerkkejä.
Jos haluat korvata kaikki vastaavat, käytä regulaarisen lausekkeen g
Merkit (globaalin hakun käyttöön):
Esimerkki
str = "Please visit Microsoft and Microsoft!"; var n = str.replace(/Microsoft/g, "W3School");
Opit lisää JavaScriptin regulaarisista lausekkeista tässä luvussaRegulaarinen lausekesisältö.
Muunna suureksi ja pieneksi
Kautta toUpperCase()
Muunna merkkijono isoin kirjaimiksi:
Esimerkki
var text1 = "Hello World!"; // merkkijono var text2 = text1.toUpperCase(); // text2 on muutettu isoin kirjaimin oleva text1
Kautta toLowerCase()
Muunna merkkijono pieniksi kirjaimiksi:
Esimerkki
var text1 = "Hello World!"; // merkkijono var text2 = text1.toLowerCase(); // text2 on muutettu pienillä kirjaimilla oleva text1
concat() -menetelmä
concat()
Yhdistä kaksi tai useampaa merkkijonoa:
Esimerkki
var text1 = "Hello"; var text2 = "World"; text3 = text1.concat(" ",text2);
concat()
Metodi voidaan käyttää korvaamaan lisäyslaskin. Alle olevat kaksi riviä ovat yhtä hyödyllisiä:
Esimerkki
var text = "Hello" + " " + "World!"; var text = "Hello".concat(" ","World!");
Kaikki merkkijonometodit palauttavat uuden merkkijonon. Ne eivät muuta alkuperäistä merkkijonoa.
Virallisesti sanottuna: merkkijono on muuttumaton: merkkijonoa ei voi muuttaa, vain korvata.
String.trim()
trim()
Metodi poistaa merkkijonon molemmilta puolilta tyhjät merkit:
Esimerkki
var str = " Hello World! "; alert(str.trim());
Varoitus:Internet Explorer 8 tai aikaisemmat versiot eivät tue trim()
Metodi.
Jos haluat tukea IE 8:aa, voit käyttää yhdessä säännöllistä lauseketta: replace()
Metodi korvaa:
Esimerkki
var str = " Hello World! "; alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));
Voit myös käyttää yllä olevaa replace-mallia lisätäksesi trim-funktion JavaScript String.prototypeen:
Esimerkki
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());
Merkkijonon merkkien poistaminen
Nämä ovat kaksi merkkijonon merkkien poistamista:TurvallinenMetodi:
- charAt(position)
- charCodeAt(position)
charAt() metodi
charAt()
Metodi palauttaa merkkijonon määritellyssä indeksissä olevan merkkijonon:
Esimerkki
var str = "HELLO WORLD"; str.charAt(0); // Palauttaa H
charCodeAt() metodi
charCodeAt()
Metodi palauttaa merkkijonon määritellyssä indeksissä olevan merkin unicode-koodin:
Esimerkki
var str = "HELLO WORLD"; str.charCodeAt(0); // Palauttaa 72
Ominaisuuslaskenta
ECMAScript 5 (2009) sallii merkkijonon ominaisuuslaskennan [ ]:
Esimerkki
var str = "HELLO WORLD"; str[0]; // Palauttaa H
Ominaisuuslaskenta ei ole aina luotettavaa:
- Ei ole yhteensopiva Internet Explorer 7 tai aikaisempien versioiden kanssa
- Se tekee merkkijonosta näyttämään tältä kuin taulukolta (vaikka se ei ole)
- Jos ei löydy merkkiä:
[ ]
Palauttaaundefined
jacharAt()
Palauttaa tyhjän merkkijonon. - Se on lukuun ottamatta muokattavaa.
str[0] = "A"
Ei aiheuta virhettä (mutta ei toimi oikein!)
Esimerkki
var str = "HELLO WORLD"; str[0] = "A"; // Ei aiheuta virhettä, mutta ei toimi oikein str[0]; // Palauttaa H
Vinkki:Jos haluat käsitellä merkkijonoa taulukon tavoin, voit ensin muuntaa sen taulukoksi.
Muuntaa merkkijonon taulukoksi
Voit split()
Muunna merkkijono taulukoksi:
Esimerkki
var txt = "a,b,c,d,e"; // Merkkijono txt.split(","); // Erota pilkulla txt.split(" "); // Erota välilyönnillä txt.split("|"); // Erota viivalla
Jos erotinmerkki on "\"
Esimerkki
var txt = "Hello"; // Merkkijono txt.split("\""); // Erota merkkijonon osiin
Täydellinen String-referenssikirja
Täydelliselle referenssikirjalle käy suoraan JavaScript-merkkijonon-referenssikirja.
Tämä oppikirja sisältää kaikkien merkkijonon ominaisuuksien ja metodioiden kuvaukset ja esimerkit.
- Edellinen sivu JS-merkkijono
- Seuraava sivu JS-merkkijonon-haku