JavaScript-Stringmethoden

Zeichenfolgenmethoden helfen Ihnen dabei, mit Zeichenfolgen umzugehen.

Zeichenfolgenmethoden und -attribute

Originalwerte, wie "Bill Gates", können keine Attribute und Methoden haben (weil sie keine Objekte sind).

Durch JavaScript können Methoden und Attribute jedoch auch auf Originalwerte angewendet werden, da JavaScript die Originalwerte bei der Ausführung von Methoden und Attributen als Objekte betrachtet.

Zeichenfolgenlänge

length Das Attribut gibt die Länge der Zeichenfolge zurück:

Beispiel

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

Probieren Sie es selbst aus

Suchen Sie nach einer Zeichenfolge in einer Zeichenfolge

indexOf() Die Methode gibt den angegebenen Text in der Zeichenfolge zurückErsteIndex der Erscheinung (Position):

Beispiel

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

Probieren Sie es selbst aus

JavaScript zählt Positionen von Null aus.

0 ist die erste Position in der Zeichenfolge, 1 ist die zweite, 2 ist die dritte ...

lastIndexOf() Die Methode gibt die Position des angegebenen Textes in der Zeichenfolge zurückZuletztIndex der ersten Erscheinung:

Beispiel

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

Probieren Sie es selbst aus

wenn der Text nicht gefunden wird indexOf() und lastIndexOf() beide geben -1 zurück.

Beispiel

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

Probieren Sie es selbst aus

Beide Methoden akzeptieren als zweiten Parameter die Position, an der die Suche begonnen werden soll.

Beispiel

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

Probieren Sie es selbst aus

lastIndexOf() Methoden suchen nach hinten (von hinten nach vorne), was bedeutet: Wenn der zweite Parameter 50 ist, wird von Position 50 ausgehend gesucht, bis zum Anfang der Zeichenfolge.

Beispiel

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

Probieren Sie es selbst aus

Suchen Sie nach einer Zeichenfolge in einer Zeichenfolge

search() Methoden suchen nach bestimmten Werten in einer Zeichenfolge und geben die Position der Übereinstimmung zurück:

Beispiel

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

Probieren Sie es selbst aus

Haben Sie bemerkt?

两种方法,indexOf() und search(), istGleich.

Diese beiden Methoden sind ungleich. Der Unterschied liegt darin:

  • Die search() Methode kann keinen zweiten Startpositionsparameter setzen.
  • Die indexOf() Methode kann keine stärkeren Suchwerte (Regulärer Ausdruck) setzen.

Sie werden inRegulärer Ausdruckdieser Kapitel lernen Sie diese stärkeren Suchwerte.

Teil der Zeichenfolge extrahieren

Es gibt drei Methoden zur Extraktion eines Teils der Zeichenfolge:

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

slice() Methode

slice() Ein Teil der Zeichenfolge wird extrahiert und in einem neuen String zurückgegeben.

Diese Methode setzt zwei Parameter: den Startindex (Anfangsposition), den Endindex (Endposition).

Dieser Beispielcode schneidet den Teil der Zeichenfolge von Position 7 bis Position 13 ab:

Beispiel

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

Das Ergebnis von res ist:

Banana

Probieren Sie es selbst aus

Wenn ein Parameter negativ ist, wird von der Endposition der Zeichenfolge ausgegangen.

Dieser Beispielcode schneidet den Teil der Zeichenfolge von Position -12 bis Position -6 ab:

Beispiel

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

Das Ergebnis von res ist:

Banana

Probieren Sie es selbst aus

Wenn der zweite Parameter weggelassen wird, dann schneidet diese Methode den verbleibenden Teil der Zeichenfolge ab:

Beispiel

var res = str.slice(7);

Probieren Sie es selbst aus

oder von der Endposition zählen:

Beispiel

var res = str.slice(-13);

Probieren Sie es selbst aus

Hinweis:Negative Positionsangaben sind in Internet Explorer 8 und frühere Versionen nicht gültig.

substring() Methode

substring() ähnlich slice().

Der Unterschied liegt darin substring() Negative Indizes werden nicht akzeptiert.

Beispiel

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

Das Ergebnis von res ist:

Banana

Probieren Sie es selbst aus

Wenn der zweite Parameter weggelassen wird, dann substring() schnippelt den verbleibenden Teil der Zeichenfolge ab.

substr() Methode

substr() ähnlich slice().

Der Unterschied liegt darin, dass der zweite Parameter die Länge des extrahierten TeilsLänge.

Beispiel

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

Das Ergebnis von res ist:

Banana

Probieren Sie es selbst aus

Wenn der zweite Parameter weggelassen wird, wird mit substr() der verbleibende Teil der Zeichenfolge abgeschnitten.

Beispiel

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

Probieren Sie es selbst aus

Das Ergebnis von res ist:

Banana, Mango

Wenn der erste Parameter negativ ist, wird von der Endposition der Zeichenfolge ausgegangen.

Beispiel

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

Probieren Sie es selbst aus

Das Ergebnis von res ist:

Mango

Der zweite Parameter darf nicht negativ sein, da er die Länge definiert.

Ersetzen Sie den Inhalt der Zeichenfolge

replace() Der Wert wird durch einen anderen Wert ersetzt, der in der Zeichenfolge angegeben ist:

Beispiel

str = "Bitte besuchen Sie Microsoft!";
var n = str.replace("Microsoft", "W3School");

Probieren Sie es selbst aus

replace() Die Methode ändert die Zeichenfolge, die sie aufgerufen hat, nicht. Sie gibt eine neue Zeichenfolge zurück.

Standardmäßig,replace() Ersetzt nur den ersten Treffer:

Beispiel

str = "Bitte besuchen Sie Microsoft und Microsoft!";
var n = str.replace("Microsoft", "W3School");

Probieren Sie es selbst aus

Standardmäßig,replace() Groß- und Kleinschreibung ist sensibel. Daher werden nicht übereinstimmende MICROSOFT:

Beispiel

str = "Bitte besuchen Sie Microsoft!";
var n = str.replace("MICROSOFT", "W3School");

Probieren Sie es selbst aus

Um eine groß- und kleinschreibungsunabhängige Ersetzung durchzuführen, verwenden Sie den regulären Ausdruck /iGroß- und Kleinschreibung unempfindlich):

Beispiel

str = "Bitte besuchen Sie Microsoft!";
var n = str.replace(/MICROSOFT/i, "W3School");

Probieren Sie es selbst aus

Bitte beachten Sie, dass reguläre Ausdrücke keine Anführungszeichen haben.

Um alle Übereinstimmungen zu ersetzen, verwenden Sie das Merkmal g Kennzeichen (zur globalen Suche):

Beispiel

str = "Bitte besuchen Sie Microsoft und Microsoft!";
var n = str.replace(/Microsoft/g, "W3School");

Probieren Sie es selbst aus

Sie werden im Kapitel "JavaScript Regular Expressions" mehr überRegulärer AusdruckInhalt.

Konvertierung in Groß- und Kleinbuchstaben

Durch toUpperCase() Konvertieren Sie eine Zeichenfolge in Großbuchstaben:

Beispiel

var text1 = "Hello World!";       // Zeichenfolge
var text2 = text1.toUpperCase();  // text2 ist die in Großbuchstaben umgewandelte text1

Probieren Sie es selbst aus

Durch toLowerCase() Konvertieren Sie eine Zeichenfolge in Kleinbuchstaben:

Beispiel

var text1 = "Hello World!";       // Zeichenfolge
var text2 = text1.toLowerCase();  // text2 ist die in Kleinbuchstaben umgewandelte text1

Probieren Sie es selbst aus

concat() - Methode

concat() Verbinden Sie zwei oder mehrere Zeichenfolgen:

Beispiel

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

Probieren Sie es selbst aus

concat() Methoden können zum Ersatz des Plus-Operators verwendet werden. Die folgenden beiden Zeilen sind äquivalent:

Beispiel

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

Alle Methoden für Zeichenfolgen geben eine neue Zeichenfolge zurück. Sie ändern die ursprüngliche Zeichenfolge nicht.

Formell gesagt: Zeichenfolgen sind unveränderlich: Zeichenfolgen können nicht geändert werden, sondern nur ersetzt.

String.trim()

trim() Methode entfernt Leerzeichen am Anfang und am Ende der Zeichenkette:

Beispiel

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

Warnung:Internet Explorer 8 oder frühere Versionen unterstützen dies nicht trim() Methode.

Probieren Sie es selbst aus

Um die Unterstützung für IE 8 zu gewährleisten, können Sie die reguläre Ausdrucksweise verwenden replace() Methode ersetzen:

Beispiel

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

Probieren Sie es selbst aus

Sie können auch den trim-Funktion hinzufügen, indem Sie die obige replace-Methode verwenden:

Beispiel

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

Probieren Sie es selbst aus

Zeichen extrahieren aus einer Zeichenkette

Dies sind zwei Methoden zur Extraktion von Zeichen aus einer ZeichenketteSicherMethode:

  • charAt(position)
  • charCodeAt(position)

charAt() Methode

charAt() Die Methode gibt den Teil der Zeichenkette zurück, der sich an der angegebenen Indexposition befindet:

Beispiel

var str = "HELLO WORLD";
str.charAt(0); // Rückgabe H

Probieren Sie es selbst aus

charCodeAt() Methode

charCodeAt() Die Methode gibt die Unicode-Kodierung des Zeichens an der angegebenen Indexposition der Zeichenkette zurück:

Beispiel

var str = "HELLO WORLD";
str.charCodeAt(0); // Rückgabe 72

Probieren Sie es selbst aus

Attributzugriff (Property Access)

ECMAScript 5 (2009) ermöglicht die Attributzugriffe für Zeichenketten [ ]:

Beispiel

var str = "HELLO WORLD";
str[0]; // Rückgabe von H

Probieren Sie es selbst aus

Die Verwendung von Attributzugriffen ist etwas unzuverlässig:

  • Nicht kompatibel mit Internet Explorer 7 oder früheren Versionen
  • Es macht die Zeichenkette so aus, als wäre sie ein Array (wodurch sie es aber nicht ist)
  • Wenn das Zeichen nicht gefunden wird,[ ] Rückgabe undefinedund charAt() Es gibt eine leere Zeichenkette zurück.
  • Es ist schreibgeschützt.str[0] = "A" Es wird kein Fehler ausgegeben (aber es funktioniert auch nicht!)

Beispiel

var str = "HELLO WORLD";
str[0] = "A"; // Es wird kein Fehler ausgegeben, aber es funktioniert nicht
str[0]; // Rückgabe von H

Probieren Sie es selbst aus

Hinweis:Wenn Sie den String als Array verarbeiten möchten, können Sie ihn zunächst in ein Array umwandeln.

Den String in ein Array umwandeln

Durch split() Den String in ein Array umwandeln:

Beispiel

var txt = "a,b,c,d,e";   // String
txt.split(",");          // Mit Komma trennen
txt.split(" ");          // Mit Leerzeichen trennen
txt.split("|");          // Mit Strichpunkt trennen

Probieren Sie es selbst aus

Wenn das Trennzeichen weggelassen wird, enthält die zurückgegebene Liste den gesamten String in index [0].

Wenn der Trennzeichen "" weggelassen wird, enthält die zurückgegebene Liste ein Array, das aus einzeln trennenden Zeichen besteht:

Beispiel

var txt = "Hello";       // String
txt.split("");           // In Zeichen trennen

Probieren Sie es selbst aus

Vollständiges String-Referenzhandbuch

Für ein vollständiges Referenzhandbuch besuchen Sie bitte unser vollständiges JavaScript String-Referenzhandbuch.

Dieses Handbuch enthält Beschreibungen und Beispiele für alle String-Attribute und -Methoden.