Javascript String slice, substr, substring

Javascript sucht und ersetzt Zeichen und Zeichenketten in Strings und kann Strings in Arrays umwandeln, zusammenfügen und Leerzeichen am Anfang und am Ende entfernen. string.charAt(i) gibt das Zeichen am Index i zurück, concat() fügt Zeichenketten zusammen, substring extrahiert Zeichenkette aus einem String.

Javascript Strings umwandeln, zusammenfügen und teilen

Position im String

Zum besseren Verständnis der String-Methoden hilft es, sich den String als ein besonderes Array vorzustellen:

                    1                   2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 Index
I c h   b i n   e i n e   ©   Z e i c h e n k e t t e Zeichen

charAt

string.charAt(i) gibt das Zeichen am Index i – gezählt ab 0 – zurück (weil immer ab 0 gezählt wird, wäre das letzte Zeichen an Position string.length - 1).

             // 012345678901234567890123456
const mystring = "Ich bin eine © Zeichenkette";
console.log ("charAt(13) " + mystring.charAt(13));
[LOG] charAt(13) ©

Ist der Index i größer als die Länge der Zeichenkette, ist der Rückgabewert von string.charAt() leer.

charCodeAt

Jedes Zeichen hat eine bestimmte Position in der Unicode-Zeichentabelle. string.charCodeAt(i) gibt den Unicode-Codewert an der Position i – gezählt ab 0 – zurück.

160 161 162 163 164 165 166 167
  ¡ ¢ £ ¤ ¥ ¦ §
168 169 170 171 172 173 174 175
¨ © ª « ¬ ­ ® ¯
               // 012345678901234567890123456
const mystring = "Ich bin eine © Zeichenkette";
console.log ("charCodeAt(13) " + mystring.charCodeAt(13));
[LOG] charCodeAt(13) 169

Da haben wir die Unicode-Position von © und können stattdessen auch © schreiben.

concat

string.concat(str) hängt eine oder mehr Zeichenketten an eine andere Zeichenkette.

const vorname = "Egon";
let name = vorname.concat(" Meier");
console.log ("name " + name); // Ausgabe: Egon Meier

fromCharCode

string.fromCharCode(c1,c2,..) erzeugt einen String aus Unicode-Werten ci.

let simpleString = String.fromCharCode(69, 103, 111, 110);

alert(simpleString); // Ausgabe: Egon

String slice

string.slice(v,b) extrahiert einen Teil aus einem String. Im Argument stehen v = von (inklusive) und b = bis (exklusive).

                    0123456789012345678901234567890123456
let simpleString = "Paul Pauline Apostel Paulus Postpaket";
let ausschnitt = simpleString.slice(13, 20);
console.log ("Ausschnitt " +  ausschnitt);
[LOG] Ausschnitt Apostel

simpleString.slice(13, 20) schneidet die Zeichenfolge beginnend bei Position 13 bis inklusive Position 19 aus und weist die Zeichenfolge der Variablen ausschnitt zu.

Das Äquivalent zu string slice für Arrays ist array.slice().

substr

Javascript substr(start,count) gibt ein Fragment ab Position start (inklusive) mit einer Länge von count Zeichen zurück.

                    0123456789012345678901
let simpleString = "http://www.wisotop.de/";
let fragment = simpleString.substr(11, 7);

substring

substring(start,end)schneidet ein Fragment ab Position start (inklusive) bis zur Position end (exklusive) aus einem String.

let simpleString = "http://www.wisotop.de/";
let fragment = simpleString.substring(11, 18);

substr und substring wirken auf den ersten Blick sehr ähnlich. Das zweite Argument macht den Unterschied:

  • Das zweite Argument von substr(start,count) ist die maximale Länge des Rückgabewertes.
  • Das zweite Argument von substring(start,end) ist der Index, an dem das Fragment endet.
0123456789012345678901234567890123456
          |         |         |
ICH BIN EINE ZEICHENKETTE ODER EIN STRING substr(13,20)
ICH BIN EINE ZEICHENKETTE ODER EIN STRING substring(13,20)
[Log] ZEICHENKETTE ODER EI
[Log] ZEICHEN

Strings in der Literatur

Ein alter Nerd-Witz trägt ebenfalls zum Verständnis von Strings bei:

Der Egon fängt in der Straßenmeisterei als Mittelstreifenmaler an. Am ersten Tag schafft er einen perfekten Mittelstreifen auf mehr als der doppelten Länge als alle anderen.
Der Chef ist begeistert und rückt sogar ein Trinkgeld heraus.
Am nächsten Tag ist der Egon immer noch Spitze, wenn auch nicht mehr so gut wie am ersten Tag.

Am dritten Tag schafft er es nicht mal mehr ins Mittelfeld. Der Chef nimmt ihn zur Seite: Was ist los? Du warst saugut an den ersten Tagen und jetzt …?

Der Egon, noch völlig außer Atem und verschwitzt: »Da war der Weg zurück zum Eimer auch nicht so weit«.

Suchen auf mediaevent.de