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«.