Heim >Web-Frontend >js-Tutorial >Unterschied zwischen String-Slicing- und Substring-Methoden

Unterschied zwischen String-Slicing- und Substring-Methoden

PHPz
PHPznach vorne
2023-09-03 18:21:11918Durchsuche

Unterschied zwischen String-Slicing- und Substring-Methoden

JavaScript ist eine dynamische und beliebteste Programmiersprache, die sowohl auf Client- als auch auf Serverseite verwendet werden kann. JavaScript wird zum Erstellen interaktiver Webseiten verwendet. Es verfügt über viele Frameworks, wie React JS, Angular JS, Node JS usw.

JavaScript enthält viele integrierte Funktionen zur Ausführung verschiedener Aufgaben. Es gibt Funktionen zum Bearbeiten von Zeichenfolgen. Str.slice und str.substring sind zwei Inbuit-Funktionen, die mit Strings arbeiten können. Obwohl die Funktionalität dieser beiden Funktionen nahezu ähnlich ist, gibt es einige Unterschiede zwischen ihnen

String.slice()-Methode

Diese Methode gibt einen Teil der Zeichenfolge basierend auf dem angegebenen Index zurück. Die Syntax der Slice-Methode lautet wie folgt -

string.slice (start, end)

Diese Methode hat zwei Parameter: Start und Ende. Start gibt den Index an, von dem aus gestartet werden soll, und Endindex gibt den letzten Index der zurückzugebenden Zeichenfolge an. Der Endindex wird bei der Rückgabe der Zeichenfolge nicht berücksichtigt. Ein Ende ist nicht erforderlich. Wenn end nicht angegeben ist, wird die gesamte Zeichenfolge beginnend mit dem angegebenen Startindex zurückgegeben. Hier beginnt der Index bei „0“.

String.substring()-Methode

Diese Methode ähnelt auch der Slicing-Methode und gibt einen Teil der Zeichenfolge als neue Zeichenfolge zurück. Die Syntax dieser Methode lautet wie folgt -

string.substring (start, end)

Start und Ende sind hier zwei Parameter, die den Index der Zeichenfolge angeben, die zurückgegeben werden soll. Wenn der Endindex nicht angegeben ist, wird die gesamte Zeichenfolge ab dem angegebenen Startindex zurückgegeben. Der Endindex wird bei der Rückgabe der Zeichenfolge nicht berücksichtigt. Der Index beginnt bei „0“.

Betrachten Sie die Zeichenfolge „Guten Morgen“ mit der Zeichenfolgenlänge 12. Lassen Sie uns die Funktionalität dieser Methoden anhand der folgenden Beispiele verstehen -

const greeting = 'Good Morning'

Fall 1

Wenn der Startindex positiv ist, liefern beide Methoden die gleiche Ausgabe.

greeting.slice (5)  		//  'Morning'
greeting.substring (5)  	// 'Morning'

Hier wird der Index als 5 angenommen, sodass die Zeichenfolge ab der 5. Position der Hauptzeichenfolge zurückgegeben wird.

Fall 2

Wenn der angegebene Index negativ ist, liefern diese beiden Methoden unterschiedliche Ergebnisse, wie unten gezeigt.

greeting.slice (-7)  // 'Morning'
greeting.substring (-7)  // 'Good Morning'

Wenn bei der Slice-Methode ein negativer Index angegeben wird, wird ab dem Ende der Zeichenfolge gezählt und die Zeichenfolge ab dieser Indexposition zurückgegeben. Innerhalb einer Teilzeichenfolge wird jede negative Zahl als Null behandelt. Es beginnt also bei Index 0 und gibt die gesamte Zeichenfolge zurück.

Fall 3

Beide Methoden geben einen leeren String zurück, wenn eine Stringlänge übergeben wird.

greeting.slice (12)  // ''
greeting.substring (12)  // ''

Fall 4

Startindex ist größer als Endindex

greeting.slice (9, 5)  // ''
greeting.substring (9, 5)  // 'Morn'
Die Slice-Methode gibt einen leeren String zurück, während die Substring-Methode diese Indizes vertauscht und einen String zurückgibt. Schließt den Endindex aus.

Fall 5

Wenn sowohl der Start- als auch der Endindex negativ sind

greeting.slice (-12, -8)  // 'Good'
greeting.substring (-12, -8)  // ''

Slice-Methode zählt vom Ende der Zeichenfolge bis zum angegebenen Index und gibt ihn zurück. Da beide Indizes negativ sind und die Teilstring-Methode sie als Null behandelt, beginnt sie bei Null und endet bei Null. Daher wird eine leere Zeichenfolge zurückgegeben.

Fall 6

Wenn der Startindex negativ und der Endindex positiv ist

greeting.slice (-3, 5)  // ''
greeting.substring (-3, 5)  // 'Good'

Da hier der Endindex vor dem Startindex erscheint, gibt die Slice-Methode eine leere Zeichenfolge zurück. Die Teilzeichenfolgenmethode behandelt jedoch negative Indizes als Null und beginnt beim Index 0 bis zum 5. Index ohne ihn. Daher wird „Gut“ zurückgegeben.

Fall 7

Wenn der Startindex positiv, der Endindex jedoch negativ ist

greeting.slice (5, -3)  // 'Morn'
greeting.substring (5, -3)  // 'Good'

Slice-Methode gibt „Morn“ als Ausgabe zurück und Substring-Methode gibt „Good“ zurück. Die Substring-Methode behandelt den Endindex als Null, und da der Startindex (5) größer als der Endindex (0) ist, vertauscht sie einfach ihre Positionen (0,5) und gibt die Zeichenfolge zurück.

Slicing- und Substring-Methoden

Die folgende Tabelle hebt die wichtigen Unterschiede zwischen Slice-Methoden und Teilstring-Methoden hervor -

Schneidemethode

Sub-String-Methode

Es gibt einen Teil der Zeichenfolge zurück

Wird auch zum Extrahieren eines Teils einer Zeichenfolge verwendet

Es ermöglicht eine negative Indizierung und gibt die Zeichenfolgenanzahl von hinten zurück

Wenn ein negativer Index angegeben wird, wird dieser als Indexposition 0 (Null) behandelt.

Wenn der Startindex größer als der Endindex ist, wird eine leere Zeichenfolge zurückgegeben

Wenn der Startindex größer als der Endindex ist, werden einfach ihre Positionen vertauscht und die Zeichenfolge basierend auf diesem Ergebnis zurückgegeben

Fazit

String.slice- und string.substring-Methoden werden für String-Operationen verwendet. Abhängig von den Parametern und bestimmten Situationen sind sie alle ähnlich. Der erste große Unterschied zwischen ihnen besteht darin, dass ihre Indizes negativ sind, wie im obigen Beispiel gezeigt. Der zweite Fall liegt vor, wenn der Startindex größer als der Endindex ist.

Das obige ist der detaillierte Inhalt vonUnterschied zwischen String-Slicing- und Substring-Methoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen