JavaScript-Stringsuche

Dies ist ein JavaScript-Methode zur Suche in einer Zeichenkette:

  • String.indexOf()
  • String.lastIndexOf()
  • String.startsWith()
  • String.endsWith()

String.indexOf()

indexOf() Die Methode gibt die Position des angegebenen Textes in der Zeichenkette zurückErsteDer Index des (Orts) aufgetreten ist:

Example

let str = "Bitte locate, wo 'locate' vorkommt!";
str.indexOf("locate")    // gibt 7 zurück

Probieren Sie es selbst aus

JavaScript zählt die Positionen ab null.

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

String.lastIndexOf()

lastIndexOf() Die Methode gibt die letzte Erscheinung des angegebenen Textes in der Zeichenkette zurück:

Example

let str = "Bitte locate, wo 'locate' vorkommt!";
str.lastIndexOf("locate")    // gibt 21 zurück

Probieren Sie es selbst aus

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

Example

let str = "Bitte locate, wo 'locate' vorkommt!";
str.lastIndexOf("Bill")    // gibt -1 zurück

Probieren Sie es selbst aus

Diese beiden Methoden akzeptieren den zweiten Parameter als Startposition der Suche:

Example

let str = "Bitte locate, wo 'locate' vorkommt!";
str.indexOf("locate", 15)    // gibt 21 zurück

Probieren Sie es selbst aus

lastIndexOf() Die Methode sucht nach hinten (von Ende bis Anfang), was bedeutet, dass: Wenn der zweite Parameter 15Wenn der zweite Parameter angegeben ist, wird von Position 15 aus gesucht, bis zum Anfang der Zeichenkette.

Example

let str = "Bitte locate, wo 'locate' vorkommt!";
str.lastIndexOf("locate", 15)    // gibt 7 zurück

Probieren Sie es selbst aus

String.search()

search() Die Methode sucht im String nach einer angegebenen Zeichenkette und gibt die Position der Übereinstimmung zurück:

Example

let str = "Bitte locate, wo 'locate' vorkommt!";
str.search("locate")     // gibt 7 zurück

Probieren Sie es selbst aus

Haben Sie bemerkt?

indexOf() und search() Sind diese beiden Methoden gleich?

Akzeptieren sie die gleichen Parameter und geben sie die gleichen Werte zurück?

Diese beiden Methoden sind nicht gleich. Unterschiede wie folgt:

  • search() Die Methode akzeptiert keinen zweiten Startposition parameter.
  • indexOf() Die Methode kann keine starken Suchwerte (reguläre Ausdrücke) verwenden.

Sie werden im folgenden Kapitel mehr über reguläre Ausdrücke lernen.

String.match()

Die match()-Methode sucht nach Übereinstimmungen im String basierend auf dem regulären Ausdruck und gibt die Übereinstimmungen als Array-Objekt zurück.

Beispiel 1

Suchen Sie "ain" in der Zeichenkette:

let text = "Der Regen in SPANIEN bleibt hauptsächlich in der Ebene";
text.match(/ain/g)    // gibt das Array [ain,ain,ain] zurück

Probieren Sie es selbst aus

Lernen Sie mehr über reguläre Ausdrücke im Kapitel JS RegExp.

Wenn der reguläre Ausdruck den Modifikator g nicht enthält (globale Suche ausführen), gibt die match()-Methode nur das erste Übereinstimmungsergebnis der Zeichenkette zurück.

语法

string.match(regexp)
regexp Erforderlich. Der zu suchende Wert, ein reguläres Ausdruck.
Return: Array, das die Übereinstimmungen enthält, wobei jede Übereinstimmung einem Element entspricht. Wenn keine Übereinstimmung gefunden wird, ist es null.

Beispiel 2

Führen Sie eine großschreibungsempfindliche globale Suche für "ain" durch:

let text = "Der Regen in SPANIEN bleibt hauptsächlich in der Ebene";
text.match(/ain/gi)   // returns the array [ain, AIN, ain, ain]}

Probieren Sie es selbst aus

String.includes()

如果字符串包含指定值,includes() The method returns true.

Example

let text = "Hello world, welcome to the universe.";
text.includes("world")    // returns true

Probieren Sie es selbst aus

Browser support

Internet Explorer does not support String.includes().

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 40 Safari 9 Opera 28
March 2015 July 2015 August 2015 October 2015 March 2015

语法

string.includes(searchvalue, start)
searchvalue 必需。需要搜索的字符串。
start 可选。默认为 0. 开始搜索的位置。
Return: 如果字符串包含该值则返回 true,否则返回 false.
JS Version: ES6 (2015)

Check whether the string contains "world", starting from position 12:

let text = "Hello world, welcome to the universe.";
text.includes("world", 12)    // returns false

Probieren Sie es selbst aus

String.startsWith()

如果字符串以指定值开头,则 startsWith() The method returns true,否则返回 false:

Example

let text = "Hello world, welcome to the universe.";
text.startsWith("Hello")   // returns true

Probieren Sie es selbst aus

语法

string.startsWith(searchvalue, start)

参数值

参数 描述
searchvalue 必需。
start 可选。默认为 0。开始搜索的位置。

Example

let text = "Hello world, welcome to the universe.";
text.startsWith("world")    // returns false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 5)    // returns false
let text = "Hello world, welcome to the universe.";
text.startsWith("world", 6)    // returns true

Probieren Sie es selbst aus

Anmerkung:startsWith() Die Methode unterscheidet zwischen Gross- und Kleinbuchstaben.

Internet Explorer unterstützt diese Methode nicht startsWith() Methode.

The first fully supported browser version is:

Chrome IE Firefox Safari Opera
Chrome 41 Edge 12 Firefox 17 Safari 9 Opera 28
March 2015 July 2015 August 2015 October 2015 March 2015

String.endsWith()

如果字符串以指定值结尾,则 endsWith() The method returns true,否则返回 false:

Example

Check whether the string ends with "Gates":

var text = "Bill Gates";
text.endsWith("Gates")    // returns true

Probieren Sie es selbst aus

语法

string.endsWith(searchvalue, length)

参数值

参数 描述
searchvalue 必需。
length Optional. Die zu suchende Länge.

Suchen Sie nach den ersten 11 Zeichen einer Zeichenkette, die mit "world" endet:

let text = "Hello world, welcome to the universe.";
text.endsWith("world", 11)    // gibt true zurück

Probieren Sie es selbst aus

Anmerkung:endsWith() Die Methode unterscheidet zwischen Gross- und Kleinbuchstaben.

Internet Explorer unterstützt diese Methode nicht endsWith() Methode.

Die erste Browser-Version, die diese Methode vollständig unterstützt, ist:

Chrome IE Firefox Safari Opera
Chrome 51 Edge 15 Firefox 54 Safari 10 Opera 38
Mai 2016 April 2017 Juni 2017 September 2016 Juni 2016

Vollständige String-Referenzhandbuch

Für eine vollständige Referenz besuchen Sie bitte unsere JavaScript String-Referenzhandbuch.

Dieses Handbuch enthält alle Beschreibungen und Beispiele der String-Attribute und -Methoden.