JavaScript string methods
- Föregående sida JS-sträng
- Nästa sida JS-strängsökning
strängmetoder hjälper dig att hantera strängar.
strängmetoder och egenskaper
ursprungliga värden, som "Bill Gates", kan inte ha egenskaper och metoder (eftersom de inte är objekt).
men genom JavaScript kan metoder och egenskaper också användas för ursprungliga värden, eftersom JavaScript betraktar ursprungliga värden som objekt när metoder och egenskaper körs.
strängens längd
length
egenskapen returnerar längden på strängen:
Exempel
var txt = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; var sln = txt.length;
sök efter en sträng i en sträng
indexOf()
metoden returnerar den specificerade texten i strängenförstaförekomsten av index (position):
Exempel
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China");
JavaScript räknar positioner från noll.
0 är den första positionen i strängen, 1 är den andra, 2 är den tredje ...
lastIndexOf()
metoden returnerar den specificerade texten i strängensistindex för en enda förekomst:
Exempel
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China");
om texten inte hittas indexOf()
och lastIndexOf()
båda returnerar -1.
Exempel
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("USA");
Båda metoderna accepterar den andra parametern som startposition för sökningen.
Exempel
var str = "The full name of China is the People's Republic of China."; var pos = str.indexOf("China", 18);
lastIndexOf()
Metoden söker bakåt (från slutet till början), vilket innebär att: Om den andra parametern är 50, söker den från position 50 till början av strängen.
Exempel
var str = "The full name of China is the People's Republic of China."; var pos = str.lastIndexOf("China", 50);
Sök efter en sträng i en sträng
search()
Metoden söker efter en specifik sträng i en sträng och returnerar matchande positionen:
Exempel
var str = "The full name of China is the People's Republic of China."; var pos = str.search("locate");
Har du lagt märke till det?
dessa två metoder,indexOf()
och search()
ärlikadana.
Dessa två metoder är inte lika. Skillnaden ligger i:
- search() metoden kan inte ställa in en andra startposition parameter.
- indexOf() metoden kan inte ställa in kraftfullare sökvärden (reguljära uttryck).
Du kommer attReguljära uttryckkapitlet lär dig dessa kraftfullare sökvärden.
Extrahera en del av strängen
Det finns tre sätt att extrahera en del av en sträng:
- slice(start, end)
- substring(start, end)
- substr(start, length)
slice() metoden
slice()
Extrahera en del av strängen och returnera den extraherade delen i en ny sträng.
Metoden anger två parametrar: startindex (startposition), slutindex (slutposition).
Detta exempel klipper bort fragmentet från position 7 till position 13 i strängen:
Exempel
var str = "Apple, Banana, Mango"; var res = str.slice(7,13);
Resultatet av res är:
Banana
Om någon parameter är negativ, räknas positionen från slutet av strängen.
Detta exempel klipper bort fragmentet från position -12 till position -6 i strängen:
Exempel
var str = "Apple, Banana, Mango"; var res = str.slice(-13,-7);
Resultatet av res är:
Banana
Om den andra parametern utelämnas, kommer denna metod att klippa bort den återstående delen av strängen:
Exempel
var res = str.slice(7);
eller räkna från slutet:
Exempel
var res = str.slice(-13);
Tips:Negativa positioner gäller inte för Internet Explorer 8 och tidigare versioner.
substring() metoden
substring()
Liknande slice()
.
Skillnaden ligger i substring()
Kan inte acceptera negativa index.
Exempel
var str = "Apple, Banana, Mango"; var res = str.substring(7,13);
Resultatet av res är:
Banana
Om den andra parametern utelämnas, kommer denna substring()
klipper bort den återstående delen av strängen.
substr() metoden
substr()
Liknande slice()
.
Skillnaden ligger i att den andra parametern definierar den del som ska extraheras.Längd.
Exempel
var str = "Apple, Banana, Mango"; var res = str.substr(7,6);
Resultatet av res är:
Banana
Om den andra parametern utelämnas, kommer denna substr() att klippa bort den återstående delen av strängen.
Exempel
var str = "Apple, Banana, Mango"; var res = str.substr(7);
Resultatet av res är:
Banana, Mango
Om den första parametern är negativ, räknas positionen från slutet av strängen.
Exempel
var str = "Apple, Banana, Mango"; var res = str.substr(-5);
Resultatet av res är:
Mango
Den andra parametern får inte vara negativ eftersom den definierar längden.
Ersätt stränginnehållet
replace()
Metoden ersätter en annan värde med det värde som anges i strängen:
Exempel
str = "Vänligen besök Microsoft!"; var n = str.replace("Microsoft", "W3School");
replace()
metoden ändrar inte den sträng som anropas. Den returnerar en ny sträng.
Som standardreplace()
ersätter bara den första matchningen:
Exempel
str = "Vänligen besök Microsoft och Microsoft!"; var n = str.replace("Microsoft", "W3School");
Som standardreplace()
är känslig för storlek på bokstäver. Därför matchar inte MICROSOFT:
Exempel
str = "Vänligen besök Microsoft!"; var n = str.replace("MICROSOFT", "W3School");
För att utföra känslig för storlek på bokstäver ersättning, använd reguljära uttryck /i
(känslig för storlek på bokstäver):
Exempel
str = "Vänligen besök Microsoft!"; var n = str.replace(/MICROSOFT/i, "W3School");
Observera att reguljära uttryck inte innehåller citationstecken.
För att ersätta alla matchningar, använd reguljära uttryckens g
flaggor (används för global sökning):
Exempel
str = "Vänligen besök Microsoft och Microsoft!"; var n = str.replace(/Microsoft/g, "W3School");
Du kommer att lära dig mer om JavaScript-reguljära uttryck i detta kapitelReguljära uttryckinnehållet.
Konvertera till stora och små bokstäver
Genom toUpperCase()
Konvertera strängen till stora bokstäver:
Exempel
var text1 = "Hello World!"; // Sträng var text2 = text1.toUpperCase(); // text2 är den som konverterats till stora bokstäver av text1
Genom toLowerCase()
Konvertera strängen till små bokstäver:
Exempel
var text1 = "Hello World!"; // Sträng var text2 = text1.toLowerCase(); // text2 är den som konverterats till små bokstäver av text1
concat() metoden
concat()
Koppla samman två eller flera strängar:
Exempel
var text1 = "Hello"; var text2 = "World"; text3 = text1.concat(" ",text2);
concat()
Metoder kan användas för att ersätta additionstecknet. Följande två rader är ekvivalenta:
Exempel
var text = "Hello" + " " + "World!"; var text = "Hello".concat(" ","World!");
Alla strängmetoder returnerar en ny sträng. De ändrar inte den ursprungliga strängen.
Formellt sägs: Strängar är oförändringsbara: Strängar kan inte ändras, bara ersättas.
String.trim()
trim()
Metoden tar bort blanka tecken från båda ändarna av strängen:
Exempel
var str = " Hello World! "; alert(str.trim());
Varning:Internet Explorer 8 eller äldre versioner stöder inte trim()
Metod.
För att stödja IE 8, kan du använda regular expressions tillsammans med metoden. replace()
Metod istället för:
Exempel
var str = " Hello World! "; alert(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));
Du kan också använda ovanstående replace-lösning för att lägga till trim-funktionen till JavaScript String.prototype:
Exempel
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());
Extrahera tecken från sträng
Detta är två metoder för att extrahera tecken från en sträng:SäkerMetod:
- charAt(position)
- charCodeAt(position)
charAt() metod
charAt()
Metoden returnerar den specificerade indexpositionen i strängen:
Exempel
var str = "HELLO WORLD"; str.charAt(0); // Återger H
charCodeAt() metod
charCodeAt()
Metoden returnerar unicode-koden för tecknet vid den specificerade indexen i strängen:
Exempel
var str = "HELLO WORLD"; str.charCodeAt(0); // Återger 72
Egenskapsåtkomst (Property Access)
ECMAScript 5 (2009) tillåter egenskapsåtkomst för strängar [ ]:
Exempel
var str = "HELLO WORLD"; str[0]; // Återger H
Att använda egenskapsåtkomst är inte så pålitligt:
- Inte tillämplig för Internet Explorer 7 eller tidigare versioner
- Det gör strängen ser ut som en array (men det är det inte)
- om det inte hittas ett tecken:
[ ]
Återgerundefined
ochcharAt()
Återger en tom sträng. - Det är skrivskyddat.
str[0] = "A"
Inget fel uppstår (men det fungerar inte heller!)
Exempel
var str = "HELLO WORLD"; str[0] = "A"; // Inget fel uppstår, men det fungerar inte str[0]; // Återger H
Tips:Om du vill hantera strängen som en array, kan du först konvertera den till en array.
Konvertera strängen till en array
Genom att split()
Konvertera strängen till en array:
Exempel
var txt = "a,b,c,d,e"; // Sträng txt.split(","); // Dela upp med komma txt.split(" "); // Dela upp med blanksteg txt.split("|"); // Dela upp med vertikalstreck
Om separatorn är utelämnad, kommer den array som returneras att innehålla den helaste strängen i index [0].
Om separatorn är "", kommer den array som returneras att vara en array med enskilda tecken:
Exempel
var txt = "Hello"; // Sträng txt.split(""); // Dela upp i tecken
Komplett String-handbok
För en fullständig handbok, besök vår JavaScript-sträng-handbok.
Denna handbok innehåller beskrivningar och exempel på alla sträng-attribut och metoder.
- Föregående sida JS-sträng
- Nästa sida JS-strängsökning