Javascript-Funktionen zum Arbeiten mit Strings. Aufgaben zu Funktionen der Arbeit mit Strings in JavaScript. Variablen mit Vorlagenliteralen

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Wenn ich in Javascript schreibe, muss ich oft darauf verweisen Suchmaschinen, um die Syntax von Methoden (und Reihenfolge, Definition von Argumenten) zu klären, die mit Zeichenfolgen arbeiten.

In diesem Artikel werde ich versuchen, Beispiele und Beschreibungen der gängigsten Javascript-Methoden im Zusammenhang mit Strings zu geben. Die gängigsten Methoden finden Sie der Einfachheit halber oben im Artikel.

In String konvertieren

Sie können eine Zahl, einen booleschen Wert oder ein Objekt in eine Zeichenfolge konvertieren.

Var myNumber = 24; // 24 var myString = myNumber.toString(); // „24“

Sie können eine ähnliche Manipulation auch mit der Funktion string() durchführen.

Var myNumber = 24; // 24 var myString = String(myNumber); // „24“

Nicholas Zakas sagt: „Wenn Sie sich über den Wert (null oder undefiniert) nicht sicher sind, verwenden Sie die Funktion String(), da sie unabhängig vom Typ der Variablen einen String zurückgibt.“

nicht definiert bedeutet, dass der Variablen kein Wert zugewiesen wird, a Null, - dass ihm ein leerer Wert zugewiesen wird (wir können sagen, dass null als leeres Objekt definiert ist).

Teilen Sie eine Zeichenfolge in Teilzeichenfolgen auf

Um einen String in ein Array von Teilstrings aufzuteilen, können Sie die Methode split() verwenden:

Var myString = "coming,apart,at,the,commas"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["kommen", "auseinander", "at"]

Wie aus der letzten Zeile hervorgeht, bestimmt der Wert des zweiten optionalen Arguments die Anzahl der Elemente im zurückgegebenen Array.

Ermitteln Sie die Stringlänge

Mithilfe der Längeneigenschaft können Sie die Anzahl der Unicode-Zeichen in einer Zeichenfolge ermitteln:

Var myString = „Du bist ein echter Charakter.“; var stringLength = myString.length; // 25

Definieren Sie einen Teilstring in einem String

Es gibt zwei Möglichkeiten, Ihren Plan zu verwirklichen:

Verwenden Sie indexOf() :

Var stringOne = „Johnny Waldo Harrison Waldo“; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

Die Methode indexOf() sucht nach einem Teilstring (dem ersten übergebenen Argument) in einem String (vom Anfang des Strings an) und gibt die Position des ersten Zeichens zurück, ab dem der Teilstring im String zu erscheinen begann.

Verwenden Sie lastIndexOf() :

Var stringOne = „Johnny Waldo Harrison Waldo“; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Die Methode lastIndexOf() macht alles gleich, außer dass sie nach dem letzten Teilstring sucht, der im String vorkommt.

Wenn der Teilstring nicht gefunden wird, geben beide Methoden -1 zurück. Das zweite optionale Argument gibt die Position in der Zeichenfolge an, an der Sie die Suche starten möchten. Wenn also das zweite Argument der indexOf()-Methode 5 ist, beginnt die Suche beim 5. Zeichen und die Zeichen 0-4 werden ignoriert. Für lastIndexOf() gilt: Auch wenn das zweite Argument 5 ist, beginnt die Suche in die entgegengesetzte Richtung, wobei die Zeichen ab dem 6. Platz ignoriert werden.

So ersetzen Sie einen Teil einer Zeichenfolge

Um einen Teil (oder sogar die gesamte) einer Zeichenfolge zu ersetzen, verwenden Sie die Methode replace().

Var slugger = „Josh Hamilton“; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // „Jose Bautista“

Das erste Argument enthält den Teil des Teilstrings, der ersetzt werden soll; Das zweite Argument ist die Zeichenfolge, die die zu ersetzende Teilzeichenfolge ersetzt. Es wird nur die erste Instanz des Teilstrings ersetzt.

Um alle Vorkommen einer Teilzeichenfolge zu ersetzen, verwenden Sie einen regulären Ausdruck mit dem Flag „g“.

Var myString = „Sie verkauft Autogehäuse an der Automobilküste“; var newString = myString.replace(/automotive/g, "sea"); console.log(newString); // „Sie verkauft Muscheln am Meeresufer“

Das zweite Argument kann den zu ersetzenden Teilstring oder die zu ersetzende Funktion enthalten.

Finden Sie ein Zeichen an einer bestimmten Position

Um herauszufinden, welches Zeichen sich an einer bestimmten Position befindet, können Sie die Methode charAt() verwenden:

Var myString = "Vögel einer Feder"; var whatsAtSeven = myString.charAt(7); // "F"

Wie es in Javascript oft der Fall ist, beginnt die erste Position bei 0 und nicht bei 1.

Alternativ können Sie die Methode charCodeAt() verwenden, aber anstelle des Zeichens selbst erhalten Sie dessen Code.

Var myString = "Vögel einer Feder"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // „70“

Beachten Sie, dass sich der Code für einen Großbuchstaben (Position 11) vom Code für denselben Buchstaben in Kleinbuchstaben (Position 7) unterscheidet.

String-Verkettung in Javascript

In den meisten Fällen verwenden Sie den (+)-Operator, um Zeichenfolgen zu verketten. Sie können Strings aber auch mit der Methode concat() verketten.

Var stringOne = „Knibb High Football“; var stringTwo = stringOne.concat("rules."); // „Knibb High Fußballregeln“

An concat() können mehrere Zeichenfolgen übergeben werden, und die resultierende Zeichenfolge erscheint in der Reihenfolge, in der sie der concat()-Methode hinzugefügt wurden.

Var stringOne = "Knibb"; var stringTwo = "High"; var stringThree = "Fußball"; var stringFour = "Regeln."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // „Knibb hohe Fußballregeln.“

Teil einer Zeichenfolge (Teilzeichenfolge in Javascript extrahieren)

Dort sind drei verschiedene Wege Erstellen Sie eine neue Zeichenfolge, indem Sie einen Teil einer Teilzeichenfolge aus einer vorhandenen Zeichenfolge „herausziehen“.

Verwenden von Slice() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Verwenden von substring() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

Bei beiden Methoden (slice() und substring()) ist das erste Argument die Position des Zeichens, an der die Teilzeichenfolge beginnt (ab 0 gezählt), das zweite Argument ist die Position des Zeichens, an der die Teilzeichenfolge endet, und die Das im zweiten Argument angegebene Zeichen ist nicht in der zurückgegebenen Teilzeichenfolge enthalten.

Verwenden von substr() :

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Bei der Substr-Methode gibt das erste Argument auch die Position des Zeichens an, an dem die Teilzeichenfolge beginnt. Das zweite Argument ist optional. Aber gleichzeitig gibt das zweite Argument die Anzahl der Zeichen an, die in die Teilzeichenfolge aufgenommen werden sollen, beginnend mit der Position, die wir bereits im ersten Argument definiert haben. Diese Technik wird im obigen Beispiel gut veranschaulicht.

Konvertieren einer Zeichenfolge in Klein- oder Großbuchstaben in Javascript

Es gibt vier Methoden, um die erforderlichen Konvertierungen durchzuführen. Zwei, um Zeichenfolgenzeichen in Großbuchstaben umzuwandeln.

Var stringOne = „Sprich laut, ich kann dich nicht hören.“; var stringTwo = stringOne.toLocaleUpperCase(); // „SPRECHE laut, ich kann dich nicht hören“ var stringThree = stringOne.toUpperCase(); // „SPRECHEN SIE, ICH KANN DICH NICHT HÖREN“

Und zwei, um die Zeichenfolge in Kleinbuchstaben umzuwandeln:

Var stringOne = „Sie müssen nicht schreien“; var stringTwo = stringOne.toLocaleLowerCase(); // „Sie müssen nicht schreien“ var stringThree = stringOne.toLowerCase(); // „Du musst nicht schreien“

Im Allgemeinen gibt es keinen Unterschied zwischen einer Locale-Methode und einer Non-Locale-Methode. Allerdings kann die Verwendung einer Non-Locale-Methode für einige Sprachen, wie z Sei anders." Befolgen Sie daher die folgende Regel: „Wenn Sie die Sprache, in der der Code ausgeführt wird, nicht kennen, ist es sicherer, Locale-Methoden zu verwenden.“

Mustervergleich in Javascript

Sie können das Vorhandensein eines Musters in einer Zeichenfolge mithilfe von zwei Methoden überprüfen.

Die match()-Methode wird für ein String-Objekt aufgerufen und übergibt einen regulären Ausdruck als Argument an die match()-Methode.

Var myString = "Wie viel Holz könnte ein Holzspannfutter einspannen"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // „Wie viel Holz könnte ein Holzfutter einspannen“

Und die Methode exec() wird für das RegExp-Objekt aufgerufen und übergibt die Zeichenfolge als Argument:

Var myString = "Wie viel Holz könnte ein Holzspannfutter einspannen"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // „Wie viel Holz könnte ein Holzspannfutter einspannen“

Beide Methoden geben das erste übereinstimmende Vorkommen zurück. Wenn keine Übereinstimmungen gefunden werden, wird NULL zurückgegeben. Wenn regulären Ausdruck Wenn das Flag „g“ vorhanden ist, ist das Ergebnis ein Array, das alle Übereinstimmungen enthält.

Sie können auch die Methode search() verwenden, die einen regulären Ausdruck als Argument verwendet und die Startposition des ersten übereinstimmenden Musters zurückgibt.

Var myString = "Assume"; var patternLocation = myString.search(/ume/); // 3

Wenn keine Übereinstimmungen gefunden werden, gibt die Methode -1 zurück.

Vergleichen zweier Zeichenfolgen zum späteren Sortieren

Um zwei Zeichenfolgen basierend auf der Sortierreihenfolge des Gebietsschemas zu vergleichen, können Sie die Methode „localeCompare“ verwenden. Die Methode localeCompare gibt drei mögliche Werte zurück.

MyString = "Chicken"; var myStringTwo = "egg"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (außer Chrome, das -2 zurückgibt) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome gibt 2 zurück)

Wie oben gezeigt, wird es zurückgegeben negative Bedeutung Wenn die ursprüngliche Zeichenfolge beim Sortieren vor dem Zeichenfolgenargument steht, wird der Wert +1 zurückgegeben, wenn das Zeichenfolgenargument bei der Sortierung nach der ursprünglichen Zeichenfolge steht. Wenn null zurückgegeben wird, sind die beiden Zeichenfolgen gleichwertig.

Als semantische „Frameworks“ für den Einsatz von Funktionen und Konstruktionen zur Verarbeitung von Strings sind sie von besonderem Interesse für die Programmierung von Innach ihrem semantischen Inhalt. Auf der Zunge JavaScript-Funktionen Operationen mit Zeichenfolgen können zu eigenen semantischen Konstruktionen kombiniert werden, wodurch der Code vereinfacht und der Themenbereich der Aufgabe formalisiert wird.

In der klassischen Version besteht die Informationsverarbeitung hauptsächlich aus Stringfunktionen. Jede Funktion und jedes Konstrukt der Sprache weist ihre eigenen Merkmale in der Syntax und Semantik von JavaScript auf. Die Methoden zum Arbeiten mit Zeichenfolgen haben hier ihren eigenen Stil, aber im allgemeinen Gebrauch handelt es sich lediglich um Syntax innerhalb einer einfachen Semantik: Suchen, Ersetzen, Einfügen, Extrahieren, Konnotation, Groß-/Kleinschreibung ändern ...

Beschreibung von String-Variablen

Um eine Zeichenfolge zu deklarieren, verwenden Sie die Konstruktion var. Sie können seinen Wert sofort festlegen oder ihn während der Ausführung des Algorithmus generieren. Sie können für eine Zeichenfolge einfache oder doppelte Anführungszeichen verwenden. Wenn es ein Anführungszeichen enthalten muss, muss es mit dem Zeichen „\“ maskiert werden.

Für die angegebene Zeile müssen die internen doppelten Anführungszeichen maskiert werden. Ebenso ist die mit einfachen Anführungszeichen gekennzeichnete Zeile von entscheidender Bedeutung für das Vorhandensein einfacher Anführungszeichen darin.

In diesem Beispiel listet die Zeile „str_dbl“ nützliche Listen auf Spezielle Symbole, die in einer Zeichenfolge verwendet werden kann. In diesem Fall wird das Zeichen „\“ selbst maskiert.

Ein String ist immer ein Array

JavaScript kann auf verschiedene Weise mit Zeichenfolgen arbeiten. Die Sprachsyntax bietet viele Optionen. Zunächst einmal sollte man Folgendes (im Kontext der gemachten Beschreibungen) nie vergessen:

  • str_isV => "V";
  • str_chr => """;
  • str_dbl => "a".

Das heißt, die Zeichen in einer Zeichenfolge stehen als Array-Elemente zur Verfügung, wobei jedes Sonderzeichen ein Zeichen ist. Escapezeichen sind ein Element der Syntax. Auf der eigentlichen Zeile wird kein „Bildschirm“ platziert.

Die Verwendung der Funktion charAt() hat einen ähnlichen Effekt:

  • str_isV.charAt(3) => "V";
  • str_chr.charAt(1) => """;
  • str_dbl.charAt(5) => „a“.

Der Programmierer kann jede Option verwenden.

Grundlegende String-Funktionen

In JavaScript wird dies etwas anders gemacht als in anderen Sprachen. Auf den Namen der Variablen (oder den String selbst) folgt der Name der Funktion, getrennt durch einen Punkt. Typischerweise werden Zeichenfolgenfunktionen im Stil der Sprachsyntax als Methoden bezeichnet, das erste Wort ist jedoch vertrauter.

Die wichtigste Methode einer Zeichenfolge (genauer gesagt einer Eigenschaft) ist ihre Länge.

  • var xStr = str_isV.length + „/“ + str_chr.length + „/“ + str_dbl.length.

Ergebnis: 12.11.175 gemäß den Zeilen der obigen Beschreibung.

Das wichtigste Paar von String-Funktionen besteht darin, einen String in ein Array von Elementen aufzuteilen und das Array zu einem String zusammenzuführen:

  • split(s [, l]);
  • beitreten(s).

Im ersten Fall wird der String am Trennzeichen „s“ in ein Array von Elementen aufgeteilt, bei dem die Anzahl der Elemente den Wert „l“ nicht überschreitet. Wenn die Menge nicht angegeben ist, ist die gesamte Zeile unterbrochen.

Im zweiten Fall wird das Array von Elementen durch ein bestimmtes Trennzeichen zu einer Zeile zusammengeführt.

Ein bemerkenswertes Merkmal dieses Paares: Das Teilen kann mit einem Trennzeichen und das Zusammenführen mit einem anderen erfolgen. In diesem Zusammenhang in JavaScript-Arbeit mit Zeichenfolgen kann aus der Syntax der Sprache „herausgenommen“ werden.

Klassische Stringfunktionen

Allgemeine Funktionen zur Zeichenfolgenverarbeitung:

  • suchen;
  • Probe;
  • Ersatz;
  • Transformation.

Dargestellt durch Methoden: indexOf(), lastIndexOf(), toLowerCase(), toUpperCase(), concan(), charCodeAt() und andere.

In JavaScript wird die Arbeit mit Strings durch eine Vielzahl von Funktionen repräsentiert, die sich jedoch entweder gegenseitig duplizieren oder alten Algorithmen und Kompatibilität überlassen bleiben.

Beispielsweise ist die Verwendung der concat()-Methode akzeptabel, aber einfacher zu schreiben:

  • str = str1 + str2 + str3;

Die Verwendung der Funktion charAt() ist ebenfalls sinnvoll, aber die Verwendung von charCodeAt() hat eine echte praktische Bedeutung. Ebenso hat ein Zeilenumbruch für JavaScript eine besondere Bedeutung: Im Kontext der Anzeige beispielsweise in einer Alert()-Nachricht ist er „\n“, in einem Seist er „
" Im ersten Fall handelt es sich nur um ein Zeichen, im zweiten Fall um eine Zeichenfolge.

Strings und reguläre Ausdrücke

In JavaScript umfasst die Arbeit mit Zeichenfolgen einen Mechanismus für reguläre Ausdrücke. Dadurch können komplexe Suchvorgänge, Abrufe und Zeichenfolgenkonvertierungen im Browser durchgeführt werden, ohne dass eine Verbindung zum Server hergestellt werden muss.

Methode übereinstimmen findet, und ersetzen ersetzt die gefundene Übereinstimmung durch den gewünschten Wert. Reguläre Ausdrücke werden in JavaScript auf hohem Niveau implementiert, sind von Natur aus komplex und verlagern aufgrund der Besonderheiten ihrer Anwendung den Schwerpunkt vom Server auf den Browser des Clients.

Bei der Anwendung von Methoden passen, suchen Und ersetzen Sie sollten nicht nur dem Testen im gesamten Bereich akzeptabler Werte der Anfangsparameter und Suchzeichenfolgen gebührende Aufmerksamkeit schenken, sondern auch die Belastung des Browsers bewerten.

Beispiele für reguläre Ausdrücke

Der Umfang regulärer Ausdrücke zur Verarbeitung von Zeichenfolgen ist umfangreich, erfordert jedoch große Sorgfalt und Aufmerksamkeit vom Entwickler. Beim Testen von Benutzereingaben in Formularfeldern werden zunächst reguläre Ausdrücke verwendet.

Hier sind Funktionen, die prüfen, ob die Eingabe eine Ganzzahl (schInt) oder eine reelle Zahl (schReal) enthält. Das folgende Beispiel zeigt, wie effizient es ist, Zeichenfolgen zu verarbeiten, indem sie nur auf gültige Zeichen überprüft werden: schText – nur Text, schMail – gültige E-Mail-Adresse.

Es ist sehr wichtig, das im Hinterkopf zu behalten JavaScript-Symbole und Zeichenfolgen erfordern eine erhöhte Aufmerksamkeit auf das Gebietsschema, insbesondere wenn Sie mit Kyrillisch arbeiten müssen. In vielen Fällen empfiehlt sich eine Angabe echte Codes Symbole statt ihrer Bedeutung. Dies gilt vor allem für russische Briefe.

Besonders hervorzuheben ist, dass es nicht immer notwendig ist, die gestellte Aufgabe so zu erledigen, wie sie gestellt wurde. Insbesondere im Hinblick auf die Prüfung von Ganzzahlen und reellen Zahlen: Man kommt nicht mit klassischen String-Methoden aus, sondern mit gewöhnlichen Syntaxkonstruktionen.

Objektorientierte Strings

In JavaScript wird die Arbeit mit Strings durch eine Vielzahl von Funktionen repräsentiert. Dies ist jedoch kein guter Grund, sie in ihrer ursprünglichen Form zu verwenden. Syntax und Qualität der Funktionen sind einwandfrei, es handelt sich jedoch um eine Einheitslösung.

Jede Verwendung von String-Funktionen erfordert die Verarbeitung der tatsächlichen Bedeutung, die durch die Daten, den Anwendungsbereich und den spezifischen Zweck des Algorithmus bestimmt wird.

Die ideale Lösung besteht immer darin, Daten hinsichtlich ihrer Bedeutung zu interpretieren.

Indem Sie jeden Parameter als Objekt darstellen, können Sie Funktionen formulieren, die damit arbeiten. Wir sprechen immer von der Verarbeitung von Symbolen: Zahlen oder Zeichenfolgen sind Folgen von Symbolen, die auf eine bestimmte Weise organisiert sind.

Es gibt allgemeine und private Algorithmen. Beispielsweise sind ein Nachname oder eine Hausnummer Zeichenfolgen, aber wenn im ersten Fall nur russische Buchstaben erlaubt sind, sind im zweiten Fall Zahlen, russische Buchstaben erlaubt, und es können Bindestriche oder durch einen Schrägstrich getrennte Indizes vorhanden sein. Indizes können alphabetisch oder numerisch sein. Das Haus kann Gebäude haben.

Es ist nicht immer möglich, alle Situationen vorherzusehen. Dies ist ein wichtiger Punkt bei der Programmierung. Es kommt selten vor, dass ein Algorithmus nicht geändert werden muss, und in den meisten Fällen ist eine systematische Anpassung der Funktionalität erforderlich.

Die Formalisierung der verarbeiteten Zeileninformationen in Form eines Objekts verbessert die Lesbarkeit des Codes und ermöglicht es, ihn auf die Ebene der semantischen Verarbeitung zu bringen. Dies ist ein unterschiedlicher Grad an Funktionalität und erheblich beste Qualität Code mit größerer Zuverlässigkeit des entwickelten Algorithmus.

Wenn du schreibst JavaScript, sehr oft muss man im Internet nach Informationen über die Syntax und Parameter für Methoden suchen, die mit Strings arbeiten.

Ich habe viele Artikel über die Arbeit mit Strings gelesen. Dieser Beitrag zeigt Beispiele und kurze Beschreibungen die gebräuchlichsten Methoden zum Arbeiten mit Strings. Ich habe versucht, die gängigsten Methoden zum schnellen Nachschlagen oben anzuführen.

Natürlich sind die meisten erfahrenen Entwickler mit vielen der Techniken bereits einigermaßen vertraut, aber ich denke, dass dies eine gute Liste für Anfänger ist, um die Bandbreite der Techniken zu verstehen, die dabei helfen können, komplexe Vorgänge mit einfachen Mitteln durchzuführen.

Konvertieren in String

Sie können eine Zahl, einen booleschen Ausdruck oder ein Objekt in eine Zeichenfolge konvertieren:

Var myNumber = 24; // 24 var myString = myNumber.toString(); // „24“

Sie können es genauso machen mit String():

Var myNumber = 24; // 24 var myString = String(myNumber); // „24“

Wenn Sie nicht sicher sind, was der Wert ist Null oder nicht definiert, können Sie verwenden String(), das unabhängig vom Werttyp immer eine Zeichenfolge zurückgibt.

Aufteilen einer Zeichenfolge in Teilzeichenfolgen

Um Strings in ein Array von Teilstrings aufzuteilen, können Sie die Methode verwenden Teilt():

Var myString = "coming,apart,at,the,commas"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["kommen", "auseinander", "bei"]

Wie in ... gesehen letzte Linie, der zweite Parameter der Funktion ist die Begrenzung der Anzahl der Elemente, die im endgültigen Array enthalten sein werden.

Ermitteln der Länge einer Zeichenfolge

Um herauszufinden, wie viele Zeichen eine Zeichenfolge enthält, verwenden wir die Eigenschaft Länge:

Var myString = „Du bist ein echter Charakter.“; var stringLength = myString.length; // 25

Einen Teilstring in einem String finden

Es gibt zwei Methoden, um nach einer Teilzeichenfolge zu suchen:

Verwendung Index von():

Var stringOne = „Johnny Waldo Harrison Waldo“; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

Index von() Die Methode beginnt mit der Suche nach einem Teilstring am Anfang des Strings und gibt die Position des Anfangs des ersten Vorkommens des Teilstrings zurück. In diesem Fall - 7. Platz.

Verwendung lastIndexOf():

Var stringOne = „Johnny Waldo Harrison Waldo“; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

Die Methode gibt die Startposition des letzten Vorkommens eines Teilstrings in einem String zurück.

Beide Methoden geben -1 zurück, wenn die Teilzeichenfolge nicht gefunden wird, und beide verwenden ein optionales zweites Argument, das die Position in der Zeichenfolge angibt, an der die Suche beginnen soll. Wenn das zweite Argument also „5“ ist, Index von() startet die Suche ab Zeichen 5 und ignoriert die Zeichen 0-4, while lastIndexOf() startet die Suche bei Zeichen 5 und arbeitet rückwärts, wobei Zeichen ab 6 ignoriert werden.

Substring-Ersetzung

Um ein Vorkommen einer Teilzeichenfolge in einer Zeichenfolge durch eine andere Teilzeichenfolge zu ersetzen, können Sie verwenden ersetzen():

Var slugger = „Josh Hamilton“; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // „Jose Bautista“

Das erste Argument ist das, was Sie ersetzen möchten, und das zweite Argument ist der Zeilenumbruch. Die Funktion ersetzt nur das erste Vorkommen eines Teilstrings in einem String.

Um alle Vorkommen zu ersetzen, müssen Sie einen regulären Ausdruck mit einem globalen Flag verwenden:

Var myString = „Sie verkauft Autogehäuse an der Automobilküste“; var newString = myString.replace(/automotive/g, "sea"); console.log(newString); // „Sie verkauft Muscheln am Meeresufer“

Das zweite Argument kann eine spezielle Vorlage oder Funktion enthalten. Sie können mehr lesen.

Rufen Sie ein Zeichen an einer bestimmten Position in einer Zeichenfolge ab

Wir können das Symbol mit der Funktion erhalten charAt():

Var myString = "Vögel einer Feder"; var whatsAtSeven = myString.charAt(7); // "F"

Wie es in JavaScript oft der Fall ist, beginnt die erste Position im String bei 0 und nicht bei 1.

Als alternative Funktion können Sie verwenden charCodeAt() Funktion, die der Zeichencode ist.

Var myString = "Vögel einer Feder"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // „70“

Beachten Sie, dass der Code für das Zeichen „F“ (Position 11) sich vom Code für das Zeichen „f“ (Position 7) unterscheidet.

Strings verketten

In den meisten Fällen können Sie den Operator „+“ verwenden, um Zeichenfolgen zu verketten. Sie können die Methode aber auch nutzen concat():

Var stringOne = „Knibb High Fußball“; var stringTwo = stringOne.concat("rules."); // „Knibb High Fußballregeln“

Auf diese Weise können wir viele Zeilen in der Reihenfolge, in der sie geschrieben sind, zu einer zusammenfassen:

Var stringOne = "Knibb"; var stringTwo = "High"; var stringThree = "Fußball"; var stringFour = "Regeln."; var finalString = stringOne.concat(stringTwo, stringThree, stringFour); console.log(finalString); // „Knibb hohe Fußballregeln.“

Teilstring-Extraktion

Es gibt drei Möglichkeiten, einen String aus einem Teil eines anderen Strings abzurufen:

Benutzen Scheibe():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

Benutzen Teilzeichenfolge():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"

In beiden Funktionen ist der erste Parameter das Zeichen, an dem die Teilzeichenfolge beginnt (beginnend bei Position 0), und das zweite Argument (optional) ist die Position des Zeichens, bis zu der die Teilzeichenfolge zurückgegeben wird. Das Beispiel (5, 10) gibt die Zeichenfolge zwischen den Positionen 5 und 9 zurück.

Benutzen substr():

Var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

Das erste Argument ist die Position des Zeichens, an der die neue Zeile beginnt, und das zweite Argument ist die Anzahl der Zeichen ab der Startposition der neuen Zeile. Diese. (5, 10) gibt 10 Zeichen zurück, beginnend bei Position 5.

Konvertieren Sie eine Zeichenfolge in Groß- oder Kleinschreibung.

Es gibt 4 Methoden zur Übersetzung. Die ersten beiden wandeln die Zeichenfolge in Großbuchstaben um:

Var stringOne = „Sprich laut, ich kann dich nicht hören.“; var stringTwo = stringOne.toLocaleUpperCase(); // „SPRECHE laut, ich kann dich nicht hören“ var stringThree = stringOne.toUpperCase(); // „SPRECHEN SIE, ICH KANN DICH NICHT HÖREN“

Die anderen 2 wandeln die Zeichenfolge in Kleinbuchstaben um:

Var stringOne = „Sie müssen nicht schreien“; var stringTwo = stringOne.toLocaleLowerCase(); // „Sie müssen nicht schreien“ var stringThree = stringOne.toLowerCase(); // „Du musst nicht schreien“

Es ist besser, „locale“-Methoden zu verwenden, weil... An verschiedenen Orten, beispielsweise in der Türkei, funktioniert die Anzeige von Registern nicht ganz so, wie wir es gewohnt sind, und daher kann das Ergebnis das sein, was wir wollten. Wenn Sie „locale“-Methoden verwenden, treten solche Probleme nicht auf.

Mustervergleich

Der Mustervergleich an einer Zeichenfolge kann mit zwei Methoden durchgeführt werden, die unterschiedlich funktionieren.

Methode übereinstimmen() wird auf einen String angewendet und benötigt einen regulären Ausdruck als Parameter:

Var myString = "Wie viel Holz könnte ein Holzspannfutter einspannen"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // „Wie viel Holz könnte ein Holzfutter einspannen“

Methode exec() Wird auf ein reguläres Ausdrucksobjekt angewendet und verwendet die Zeichenfolge als Parameter:

Var myString = "Wie viel Holz könnte ein Holzspannfutter einspannen"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // „Wie viel Holz könnte ein Holzspannfutter einspannen“

Bei beiden Methoden wird nur die erste Übereinstimmung zurückgegeben. Wenn es keine Übereinstimmungen gibt, wird es zurückgegeben Null.

Sie können die Methode auch verwenden suchen() das einen regulären Ausdruck annimmt und die Position der ersten Übereinstimmung im Muster zurückgibt:

Var myString = "Assume"; var patternLocation = myString.search(/ume/); // 3

Wenn es keine Übereinstimmungen gäbe, „ -1 «.

Vergleich zweier Zeichenfolgen zum Sortieren

Sie können zwei Zeichenfolgen vergleichen, um festzustellen, welche im Alphabet an erster Stelle steht. Dazu verwenden wir die Methode localeCompare() was 3 mögliche Werte zurückgibt:

Var myString = "chicken"; var myStringTwo = "egg"; var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (Chrome gibt -2 zurück) whichCameFirst = myString.localeCompare("chicken"); // 0 whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome gibt 2 zurück)

Wie oben gezeigt, wird eine negative Zahl zurückgegeben, wenn das Zeichenfolgenargument nach der ursprünglichen Zeichenfolge steht. Positive Zahl, wenn das Zeichenfolgenargument vor der ursprünglichen Zeichenfolge steht. Bei Rückgabe 0 - bedeutet, dass die Linien gleich sind.

Um den Rückgabewert zu überprüfen, ist es besser, if (result) zu verwenden< 0), чем if (result === -1). Последнее не будет работать в Chrome.

Vielen Dank für Ihre Aufmerksamkeit, ich hoffe, dass Sie viele neue und interessante Dinge gelernt haben!

Autor des Artikels: Alex. Kategorie:
Datum der Veröffentlichung: 19.03.2013

Grüße an alle, die sich entschieden haben, eine prototyporientierte Sprache zu lernen. Das letzte Mal habe ich Ihnen davon erzählt, und heute werden wir es uns ansehen JavaScript-Strings. Da in dieser Sprache alle Textelemente Zeichenfolgen sind (es gibt kein separates Format für Zeichen), können Sie davon ausgehen, dass dieser Abschnitt eine wichtige Rolle beim Erlernen der JS-Syntax spielt.

Deshalb erzähle ich Ihnen in dieser Publikation, wie String-Elemente erstellt werden, welche Methoden und Eigenschaften dafür vorgesehen sind, wie Sie Strings richtig konvertieren, zum Beispiel in eine Zahl, wie Sie den gewünschten Teilstring extrahieren und vieles mehr. Darüber hinaus füge ich Beispiele bei Programmcode. Kommen wir nun zur Sache!

Syntax von String-Variablen

In der js-Sprache werden alle Variablen mit deklariert Stichwort var, und dann wird abhängig vom Format der Parameter der Typ der deklarierten Variablen bestimmt. Wie Sie sich aus JavaScript erinnern, gibt es keine starke Typisierung. Aus diesem Grund existiert diese Situation im Code.

Bei der Initialisierung variable Werte können in doppelten, einfachen und ab 2015 auch in schrägen einfachen Anführungszeichen umrahmt werden. Unten habe ich Beispiele für jede Methode zum Deklarieren von Zeichenfolgen angehängt.

Besonderes Augenmerk möchte ich auf die dritte Methode legen. Es hat eine Reihe von Vorteilen.

Mit seiner Hilfe können Sie ganz einfach einen Zeilenumbruch durchführen und dieser sieht dann so aus:

alarm(`mehrere

Ich übertrage

Und mit der dritten Methode können Sie die $(…)-Konstruktion verwenden. Dieses Werkzeug wird zum Einfügen der Interpolation benötigt. Seien Sie nicht beunruhigt, jetzt sage ich Ihnen, was es ist.

Dank $(…) können Sie nicht nur die Werte von Variablen in Zeilen einfügen, sondern auch Arithmetik durchführen und logische Operationen, Aufrufmethoden, Funktionen usw. All dies nennt man einen Term – Interpolation. Sehen Sie sich eine Beispielimplementierung dieses Ansatzes an.

1 2 3 var Stift = 3; var Bleistift = 1; Alert(`$(Stift) + $(Bleistift*5) = $(Stift + Bleistift)`);

var Stift = 3; var Bleistift = 1; Alert(`$(Stift) + $(Bleistift*5) = $(Stift + Bleistift)`);

Als Ergebnis wird der Ausdruck „3 + 1*5 = 8“ auf dem Bildschirm angezeigt.

Bei den ersten beiden Arten der String-Deklaration gibt es keinen Unterschied.

Lassen Sie uns ein wenig über Sonderzeichen sprechen

Viele Programmiersprachen verfügen über Sonderzeichen, die bei der Bearbeitung von Text in Zeichenfolgen helfen. Der bekannteste unter ihnen ist der Zeilenumbruch (\N).

Alle ähnlichen Tools beginnen zunächst mit einem Backslash (\) und werden von Buchstaben des englischen Alphabets gefolgt.

Unten habe ich eine kleine Tabelle angehängt, die einige Sonderzeichen auflistet.

Wir verfügen über ein umfangreiches Arsenal an Methoden und Eigenschaften

Die Sprachentwickler stellten viele Methoden und Eigenschaften zur Verfügung, um die Arbeit mit Strings zu vereinfachen und zu optimieren. Und mit der Veröffentlichung eines neuen Standards namens ES-2015 im letzten Jahr wurde diese Liste mit neuen Tools ergänzt.

Länge

Ich beginne mit der beliebtesten Eigenschaft, die dabei hilft, die Länge der Werte von String-Variablen herauszufinden. Das Länge. Es wird folgendermaßen verwendet:

var string = "Einhörner";

alarm(string.length);

Als Antwort wird die Zahl 9 angezeigt. Diese Eigenschaft kann auch auf die Werte selbst angewendet werden:

„Einhörner“.Länge;

Das Ergebnis wird sich nicht ändern.

charAt()

Mit dieser Methode können Sie ein bestimmtes Zeichen aus einem Text extrahieren. Ich möchte Sie daran erinnern, dass die Nummerierung bei Null beginnt. Um also das erste Zeichen aus einer Zeichenfolge zu extrahieren, müssen Sie die folgenden Befehle schreiben:

var string = "Einhörner";

alarm(string.charAt(0));.

Das resultierende Ergebnis ist jedoch kein Zeichentyp; es wird weiterhin als Zeichenfolge mit einem Buchstaben betrachtet.

Von toLowerCase() nach UpperCase()

Diese Methoden steuern die Groß-/Kleinschreibung von Zeichen. Beim Schreiben des Codes „Inhalt“.

toUpperCase() Das gesamte Wort wird in Großbuchstaben angezeigt.

Für den gegenteiligen Effekt sollten Sie „Content“ verwenden. toLowerCase().

Index von()

Ein beliebtes und notwendiges Tool zur Suche nach Teilzeichenfolgen. Als Argument müssen Sie das Wort oder die Phrase eingeben, die Sie suchen möchten, und die Methode gibt die Position des gefundenen Elements zurück. Wenn der gesuchte Text nicht gefunden wurde, wird „-1“ an den Benutzer zurückgegeben.

1 2 3 4 var text = "Eine Blumensuche organisieren!"; alarm(text.indexOf("color")); //19 Alert(text.indexOf(" ")); //12 Alert(text.lastIndexOf(" ")); //18

var text = "Eine Blumensuche organisieren!"; alarm(text.indexOf("color")); //19 Alert(text.indexOf(" ")); //12 Alert(text.lastIndexOf(" ")); //18

Beachten Sie, dass lastIndexOf() das Gleiche tut, nur dass die Suche am Ende des Satzes beginnt.

Teilstring-Extraktion

Für diese Aktion wurden drei annähernd identische Methoden in js erstellt.

Schauen wir es uns zuerst an Teilzeichenfolge (Anfang, Ende) Und Slice (Anfang, Ende). Sie funktionieren gleich. Das erste Argument definiert die Startposition, von der aus die Extraktion beginnt, und das zweite ist für den endgültigen Stopppunkt verantwortlich. Bei beiden Methoden wird die Zeichenfolge extrahiert, ohne das Zeichen einzubeziehen, das sich an der Endposition befindet.

var text = "Atmosphäre"; alarm(text.substring(4)); // zeigt die Warnung „Sphäre“ an (text.substring(2, 5)); //Anzeige „mos“-Alarm(text.slice(2, 5)); //Anzeige „mos“

Schauen wir uns nun die dritte Methode an, die aufgerufen wird substr(). Es muss außerdem zwei Argumente enthalten: Start Und Länge.

Der erste gibt die Startposition an und der zweite gibt die Anzahl der zu extrahierenden Zeichen an. Um die Unterschiede zwischen diesen drei Tools nachzuvollziehen, habe ich das vorherige Beispiel verwendet.

var text = "Atmosphäre";

alarm(text.substr(2, 5)); //zeige „mosfe“ an

Mit den aufgeführten Mitteln zur Teilzeichenfolge können Sie unnötige Zeichen aus neuen Zeilenelementen entfernen, mit denen das Programm dann arbeitet.

Antwort()

Diese Methode hilft beim Ersetzen von Zeichen und Teilzeichenfolgen im Text. Es kann auch zur Implementierung globaler Ersetzungen verwendet werden, allerdings müssen Sie dazu reguläre Ausdrücke einbinden.

In diesem Beispiel wird die Teilzeichenfolge nur im ersten Wort ersetzt.

var text = "Atmosphäre Atmosphäre"; var newText = text.replace("Atmo","Strato") alarm(newText) // Ergebnis: Stratosphere Atmosphere

Und dabei Softwareimplementierung Aufgrund des regulären Ausdrucks-Flags „g“ wird eine globale Ersetzung durchgeführt.

var text = "Atmosphäre Atmosphäre"; var newText = text.replace(/Atmo/g,"Strato") alarm(newText) // Ergebnis: Stratosphere Stratosphere

Machen wir die Konvertierung

JavaScript bietet nur drei Arten der Objekttypkonvertierung:

  1. Numerisch;
  2. Zeichenfolge;
  3. Boolescher Wert.

In der aktuellen Veröffentlichung werde ich auf zwei davon eingehen, da das Wissen über sie für die Arbeit mit Strings wichtiger ist.

Numerische Konvertierung

Um den Wert eines Elements explizit in eine numerische Form umzuwandeln, können Sie verwenden Zahl (Wert).

Es gibt auch einen kürzeren Ausdruck: +"999".

var a = Number("999");

String-Konvertierung

Wird von der Funktion ausgeführt Alarm, sowie ein expliziter Aufruf String(Text).

Hallo zusammen und ein frohes neues Jahr. Gehen! Wir beginnen mit der Betrachtung der Längeneigenschaft, die es uns ermöglicht, die Anzahl der Zeichen in einer Zeichenfolge zu zählen:

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; console.log(str.length);

Wie Sie sehen, zeigt die Konsole als Ergebnis die Anzahl der Zeichen in der Zeile an (54).

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; console.log(str.charAt(7));

Mit der Methode charAt() können wir ein String-Zeichen an einer bestimmten Position abrufen; in unserem Fall erhalten wir das „und“-Zeichen an der 7. Position. Beachten Sie, dass der Linienpositionsbericht bei Null beginnt. Wenn wir beispielsweise das erste Zeichen einer Zeichenfolge erhalten möchten:

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; str.charAt(0);

hier bekommen wir „m“ zurück. Es gibt auch eine ähnliche Methode, charCodeAt(). SIE FUNKTIONIERT GENAU WIE charAt(), aber sie gibt nicht das Zeichen selbst, sondern seinen Code zurück.

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; console.log(str.charCodeAt(0));

Der Code für das Zeichen „m“ (1084) wird an uns zurückgesendet.

Die Methode charAt() ist nützlich, um ein einzelnes Zeichen aus einer Zeichenfolge zu extrahieren. Wenn wir jedoch eine Reihe von Zeichen (Teilzeichenfolge) erhalten möchten, sind die folgenden Methoden für diesen Zweck geeignet:

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; console.log(str.slice(8,17));

Slice-Methode() gibt einen Teilstring („Eigenschaften“) zurück und verwendet als Argumente zwei numerische Werte, den Start- und Endindex des Teilstrings. Eine weitere ähnliche Methode ist substr():

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; console.log(str.substr(8,17));

Hier erhalten wir einen Teilstring („Eigenschaften für Slave“) zurück. Das erste Argument ist die Startposition und das zweite die Anzahl der Zeichen im Teilstring. Als nächstes werden wir uns Methoden zum Arbeiten mit Groß- und Kleinschreibung in Strings ansehen.

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; console.log(str.toUpperCase());

Die toUpperCase()-Methode gibt uns einen String zurück, in dem alle Zeichen enthalten sind Großbuchstaben, also in Großbuchstaben.

Var str = "MBA"; console.log(str.toLowerCase());

Die Methode toLowerCase() gibt uns eine Zeichenfolge zurück, in der alle Zeichen Kleinbuchstaben sind.

Um einen Teilstring in einem String zu finden, können wir die Methode indexOf() verwenden:

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; document.write(str.indexOf("works"));

diese Methode nimmt als Argument den Teilstring, den wir im String finden wollen, und wenn es ihn findet, wird die Position zurückgegeben, an der die Übereinstimmung gefunden wurde. Wenn dieser Teilstring nicht im String enthalten ist, dann:

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; document.write(str.indexOf("work"));

wir erhalten den Wert -1. Beispiel:

Var str = „Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript“, sub = „work“; function indexOf(str, substr) ( if (str.indexOf(substr) === -1) ( return „Dieser Teilstring „+substr+““ ist nicht im String „+str+“ enthalten; ) else( index = str.indexOf(substr) return "Substring ""+substr+"" gefunden an Position "+index; ) ) document.write(indexOf(str,sub));

Hier haben wir eine kleine Funktion indexOf(str,sub) geschrieben, die einen String(str) und einen Teilstring(sub) als Argumente verwendet und mithilfe der Methode indexOf() prüft, ob ein Teilstring im String vorhanden ist, und a zurückgibt Nachricht über das Ergebnis. Ich stelle fest, dass die Methode indexOf() die Position des Teilstrings relativ zum Anfang des Strings zurückgibt, also ab Index Null.

Wenn wir die Position eines Teilstrings relativ zum Ende ermitteln möchten, können wir die Funktion lastIndexOf() verwenden.

Mit der Methode trim() können Sie Leerzeichen am Anfang und Ende einer Zeichenfolge entfernen. Nehmen wir an, wir haben die folgende Zeichenfolge:

Var str = "Methoden und Eigenschaften für die Arbeit mit Zeichenfolgen in JavaScript"; console.log(str);

und wir wollen Leerzeichen am Anfang und Ende entfernen:

Console.log(str.trim());

Nachdem wir die trim()-Methode verwendet haben, werden die Leerzeichen am Ende und Anfang der Zeichenfolge erfolgreich entfernt.

Nun, das ist im Grunde alles, was ich Ihnen über die Arbeit mit Strings in JavaScript sagen wollte. Natürlich gibt es auch Methoden zum Verketten und Vergleichen von Strings, aber wir werden sie nicht berücksichtigen, da diese Methoden leicht durch Standardoperatoren ersetzt werden können.

Ich gratuliere Ihnen zum bevorstehenden neuen Jahr, ich wünsche Ihnen Glück, Gesundheit, Erfolg, Liebe und natürlich viel Glück! Tschüss!



Freunden erzählen