JavaScript strengmetoder

Strengmetoder hjælper dig med at håndtere strenge.

Strengmetoder og egenskaber

Rå værdier, såsom "Bill Gates", kan ikke have egenskaber og metoder (fordi de ikke er objekter).

Men gennem JavaScript kan metoder og egenskaber også bruges til rå værdier, fordi JavaScript ser rå værdier som objekter, når metoder og egenskaber udføres.

Strengens længde

længde Egenskaben returnerer længden af strengen:

Eksempel

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

Prøv det selv

Søge efter en streng i en streng

indexOf() Metoden returnerer den angivne tekst i strengenFørsteForekomsten af index (placering):

Eksempel

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

Prøv det selv

JavaScript tæller positioner fra nul.

0 er den første placering i strengen, 1 er den anden, 2 er tredje ...

lastIndexOf() Metoden returnerer den angivne tekstens placering i strengenSidstIndex for en enkelt forekomst:

Eksempel

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

Prøv det selv

hvis teksten ikke findes indexOf() og lastIndexOf() Returnerer begge -1.

Eksempel

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

Prøv det selv

Begge metoder accepterer den anden parameter som startplaceringen for søgningen.

Eksempel

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

Prøv det selv

lastIndexOf() Metoden søger baglæns (fra slut til start), hvilket betyder: Hvis den anden parameter er 50, søger den fra position 50 til start af strengen.

Eksempel

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

Prøv det selv

Søge efter en streng i en streng

search() Metoden søger efter en bestemt værdi i en streng og returnerer placeringen:

Eksempel

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

Prøv det selv

Har du bemærket?

de to metoder,indexOf() og search(), erLige.

Disse to metoder er ikke ens. Forskellen ligger i:

  • search() metoden kan ikke indstille den anden startposition parameter.
  • indexOf() metoden kan ikke indstille mere kraftfulde søgeværdier (regulære udtryk).

Du vil læreRegulære udtrykaf kapitlerne for at lære disse mere kraftfulde søgeværdier.

Udtræk en del af strengen

Der er tre metoder til at udtrække en del af en streng:

  • slice(start, end)
  • substring(start, end)
  • substr(start, længde)

slice() metoden

slice() Udtræk en del af strengen og returner det udtrukne fragment i en ny streng.

Metoden sætter to parametre: startindeks (startposition), slutindeks (slutposition).

Dette eksempel klipper fragmentet fra position 7 til 13 i strengen:

Eksempel

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

Resultatet af res er:

Banana

Prøv det selv

Hvis en parameter er negativ, beregnes positionen fra slutningen af strengen.

Dette eksempel klipper fragmentet fra position -12 til -6 i strengen:

Eksempel

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

Resultatet af res er:

Banana

Prøv det selv

Hvis den anden parameter udelades, vil denne metode klippe den resterende del af strengen:

Eksempel

var res = str.slice(7);

Prøv det selv

eller beregn fra slutningen:

Eksempel

var res = str.slice(-13);

Prøv det selv

Tip:Negative værdier for positioner gælder ikke for Internet Explorer 8 og tidligere versioner.

substring() metoden

substring() Lignende slice().

Forskellen ligger i substring() Kan ikke acceptere negative indekser.

Eksempel

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

Resultatet af res er:

Banana

Prøv det selv

Hvis den anden parameter udelades, vil denne substring() klipper den resterende del af strengen.

substr() metoden

substr() Lignende slice().

Forskellen ligger i, at den anden parameter bestemmer den del, der skal udtrækkes.Længde.

Eksempel

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

Resultatet af res er:

Banana

Prøv det selv

Hvis den anden parameter udelades, vil denne substr() klippe den resterende del af strengen.

Eksempel

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

Prøv det selv

Resultatet af res er:

Banana, Mango

Hvis den første parameter er negativ, beregnes positionen fra slutningen af strengen.

Eksempel

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

Prøv det selv

Resultatet af res er:

Mango

Den anden parameter kan ikke være negativ, fordi den definerer længden.

Erstat strengindhold

replace Metoden bruger en anden værdi til at erstatte den specificerede værdi i en streng:

Eksempel

str = "Besøg Microsoft!";
var n = str.replace("Microsoft", "W3School");

Prøv det selv

replace metoden ændrer ikke den streng, den kalder. Den returnerer en ny streng.

Standardmæssigtreplace erstat kun den første match

Eksempel

str = "Besøg Microsoft og Microsoft!";
var n = str.replace("Microsoft", "W3School");

Prøv det selv

Standardmæssigtreplace er følsom over for store og små bogstaver. Derfor matcher ikke MICROSOFT:

Eksempel

str = "Besøg Microsoft!";
var n = str.replace("MICROSOFT", "W3School");

Prøv det selv

For at udføre en ikke følsom over for store og små bogstaver erstatning, brug regulære udtryk /i(ikke følsom over for store og små bogstaver):

Eksempel

str = "Besøg Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");

Prøv det selv

Bemærk at regulære udtryk ikke har anførselstegn.

For at erstatte alle mønstre, brug regulære udtryks g flag (brugt til global søgning):

Eksempel

str = "Besøg Microsoft og Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");

Prøv det selv

Du vil lære mere om JavaScript regulære udtryk i dette kapitelRegulære udtrykindholdet.

Konverter til store og små bogstaver

Gennem toUpperCase() Konverter streng til uppercase:

Eksempel

var text1 = "Hello World!";       // Streng
var text2 = text1.toUpperCase();  // text2 er den konverterede uppercase text1

Prøv det selv

Gennem toLowerCase() Konverter streng til lowercase:

Eksempel

var text1 = "Hello World!";       // Streng
var text2 = text1.toLowerCase();  // text2 er den konverterede lowercase text1

Prøv det selv

concat() metoden

concat() Koble to eller flere strenge sammen:

Eksempel

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

Prøv det selv

concat() Metoder kan bruges til at erstatte plusoperatoren. De to nedenstående linjer er ekvivalente:

Eksempel

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

Alle stringmetoder returnerer en ny streng. De ændrer ikke den oprindelige streng.

Formelt set: Strengene er uændelige: Strengene kan ikke ændres, kun erstattes.

String.trim()

trim The method removes whitespace characters at both ends of the string:

Eksempel

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

Warning:Internet Explorer 8 or earlier versions do not support trim Method.

Prøv det selv

To support IE 8, you can use regular expressions with the method replace Method instead:

Eksempel

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

Prøv det selv

You can also use the above replace method to add the trim function to JavaScript String.prototype:

Eksempel

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());

Prøv det selv

Extracting string characters

These are two methods for extracting characters from a stringSafeMethod:

  • charAt(position)
  • charCodeAt(position)

charAt() method

charAt() The method returns the substring at the specified index (position):

Eksempel

var str = "HELLO WORLD";
str.charAt(0); // Returns H

Prøv det selv

charCodeAt() method

charCodeAt The method returns the unicode encoding of the character at the specified index in the string:

Eksempel

var str = "HELLO WORLD";
str.charCodeAt(0); // Returns 72

Prøv det selv

Property Access

ECMAScript 5 (2009) allows property access for strings [ ]:

Eksempel

var str = "HELLO WORLD";
str[0]; // Return H

Prøv det selv

Using property access is a bit unreliable:

  • Not applicable for Internet Explorer 7 or earlier versions
  • It makes the string look like an array (but it is not)
  • If the character is not found,[ ] Returns undefinedand charAt() Returns an empty string.
  • It is read-only.str[0] = "A" No error (but it won't work either!)

Eksempel

var str = "HELLO WORLD";
str[0] = "A"; // No error, but it won't work
str[0]; // Return H

Prøv det selv

Tip:Hvis du ønsker at håndtere strengen som en array, kan du først konvertere den til en array.

Konverter streng til array

Man kan split() Konverter streng til array:

Eksempel

var txt = "a,b,c,d,e";   // Streng
txt.split(",");          // Deler op med komma
txt.split(" ");          // Deler op med mellemrum
txt.split("|");          // Deler op med streg

Prøv det selv

Hvis adskillelses tegnet udelades, vil den tilbagevendte array indeholde hele strengen i index [0].

Hvis adskillelses tegnet er "\"", vil den tilbagevendte array være en array af intervallede tegn:

Eksempel

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

Prøv det selv

Komplet String referencehåndbog

For et fuldt referencehåndbog, besøg vores JavaScript-streng referencehåndbog.

Denne vejledning indeholder beskrivelser og eksempler på alle strengens egenskaber og metoder.