Einführung:
JavaScript ist eine weit verbreitete Programmiersprache und bietet mehrere integrierte Methoden zum Bearbeiten von Zeichenfolgen. Zwei der am häufigsten verwendeten Methoden zum Durchsuchen einer Zeichenfolge nach einem bestimmten Zeichen oder einer bestimmten Teilzeichenfolge sind Index von() Und suchen() . Obwohl diese beiden Methoden in ihrer Funktionalität ähnlich erscheinen mögen, weisen sie einige wesentliche Unterschiede auf. In diesem Artikel werden wir die Unterschiede zwischen indexOf() und search() in JavaScript untersuchen.
indexOf() Methode:
Der Index von() Die Methode ist eine integrierte JavaScript-Funktion, die verwendet wird, um den Index des ersten Vorkommens eines Teilstrings innerhalb eines bestimmten Strings zu finden. Diese Methode gibt den Index des ersten Vorkommens der angegebenen Teilzeichenfolge zurück, beginnend am Anfang der Zeichenfolge. Wenn die Teilzeichenfolge nicht gefunden wird, gibt die Methode einen Rückgabewert zurück -1 .
Syntax:
Die Syntax für die Verwendung von Index von() Methode ist wie folgt:
string.indexOf(searchValue[, fromIndex])
Hier, Zeichenfolge ist die zu durchsuchende Zeichenfolge, Suchwert ist der Wert, nach dem gesucht werden soll, und fromIndex ist der optionale Parameter, der die Position in der Zeichenfolge angibt, an der die Suche beginnen soll. Wenn die fromIndex ist nicht vorgesehen, die Index von() Die Methode startet die Suche am Anfang der Zeichenfolge. Wenn fromIndex ist ein Negativ Wert, beginnt die Suche am Ende der Zeichenfolge.
Beispiel:
Java 8
Nehmen wir ein Beispiel, um das zu verstehen Index von() Methode:
let str = 'JavaScript is a powerful programming language'; let index = str.indexOf('powerful'); console.log(index);
Ausgabe:
16
Erläuterung:
Hier das indexOf()-Methode sucht nach dem ersten Vorkommen des Wortes 'mächtig' in der Zeichenfolge „JavaScript ist eine leistungsstarke Programmiersprache“ . Da das Wort 'mächtig' erscheint im Index 16 , die Methode gibt zurück 16 .
search() Methode:
Der search()-Methode ist auch eine integrierte JavaScript-Funktion, die verwendet wird, um den Index des ersten Zeichens einer Teilzeichenfolge innerhalb einer bestimmten Zeichenfolge zu finden. Diese Methode gibt den Index des ersten Vorkommens der angegebenen Teilzeichenfolge zurück, beginnend am Anfang der Zeichenfolge. Wenn die Teilzeichenfolge nicht gefunden wird, gibt die Methode einen Rückgabewert zurück -1 .
Syntax:
Die Syntax für die Verwendung von search()-Methode ist wie folgt:
string.search(regexp)
Hier, Zeichenfolge ist die zu durchsuchende Zeichenfolge und regulärer Ausdruck ist der regulären Ausdruck Muster, nach dem gesucht werden soll. Wenn die regulären Ausdruck Muster gefunden wird, das suchen() Die Methode gibt den Index des ersten Zeichens der Übereinstimmung zurück. Wenn das reguläre Ausdrucksmuster nicht gefunden wird, gibt die Methode einen Rückgabewert zurück -1 .
Beispiel:
Nehmen wir ein Beispiel, um das zu verstehen suchen() Methode:
let str = 'JavaScript is a powerful programming language'; let index = str.search(/powerful/); console.log(index);
Ausgabe:
16
Erläuterung:
Hier das suchen() Methode sucht nach dem regulären Ausdruck Muster /mächtig/ in der Zeichenfolge „JavaScript ist eine leistungsstarke Programmiersprache“ . Da das Muster des regulären Ausdrucks mit dem Wort übereinstimmt 'mächtig' , die Methode gibt zurück 16 .
Unterschiede zwischen indexOf() und search():
Obwohl beides Index von() Und suchen() Methoden werden verwendet, um innerhalb einer bestimmten Zeichenfolge nach einer Teilzeichenfolge zu suchen. Sie weisen einige wesentliche Unterschiede auf. Schauen wir uns diese Unterschiede einmal nebeneinander an:
indexOf()-Methode | search()-Methode |
---|---|
Index von() Die Methode sucht nach einem angegebenen Teilstring innerhalb eines bestimmten Strings. | suchen() Die Methode sucht nach einem regulären Ausdrucksmuster innerhalb einer bestimmten Zeichenfolge. |
Die Methode indexOf() gibt den Index des ersten Vorkommens der angegebenen Teilzeichenfolge zurück. | Die Methode search() gibt den Index des ersten Zeichens der Übereinstimmung zurück. |
Die Methode indexOf() unterstützt keine regulären Ausdrücke. | Die Methode search() unterstützt reguläre Ausdrücke. |
Die Methode indexOf() kann einen optionalen Parameter fromIndex akzeptieren, um die Suche ab einem bestimmten Index zu starten. | Die Methode search() akzeptiert keinen optionalen Parameter, um die Suche ab einem bestimmten Index zu starten. |
Die Methode indexOf() ist schneller als die Methode search(), da sie keine regulären Ausdrücke unterstützt. | Die Methode search() ist langsamer als die Methode indexOf(), da sie reguläre Ausdrücke unterstützt. |
Bei der Methode indexOf() wird die Groß-/Kleinschreibung beachtet. | Die Methode search() berücksichtigt standardmäßig auch die Groß-/Kleinschreibung, kann jedoch mit der Methode unempfindlich gemacht werden /i-Flagge im regulären Ausdrucksmuster. |
Die Methode indexOf() wird häufig für einfache String-Suchen verwendet. | Die Methode search() wird häufig für den komplexen Mustervergleich mithilfe regulärer Ausdrücke verwendet. |
Abschluss:
Fazit: Beides Index von() Und suchen() Methoden sind nützlich für die Suche nach einem Teilstring innerhalb eines bestimmten Strings. Sie weisen jedoch einige wesentliche Unterschiede auf, die sie für unterschiedliche Anwendungsfälle geeignet machen. Die Methode indexOf() ist schneller und eignet sich besser für einfache Zeichenfolgensuchen, während die Methode search() reguläre Ausdrücke unterstützt und sich besser für den Vergleich komplexer Muster eignet. Es ist wichtig, die geeignete Methode basierend auf den spezifischen Anforderungen Ihres Programms auszuwählen.