String-Objekt

Das „String“-Objekt

Variablen für Zeichenketten können als einfache Variablen oder als Objekte definiert werden. Wird einer Variablen eine Zeichenkette zugewiesen, entsteht eine einfache Variable. Wird die Variable mit „new String()“ angelegt, wird die Variable als Objekt definiert. Ein Werte-Vergleich zwischen einfachen Variablen und Objekten kann „wahr“ (true) sein, ein Typen-Vergleich liefert aber immer „falsch“ (false), so wie auch ein Vergleich zwischen zwei „String“-Objekten:

HTML-Datei:

Ergebnis:

Beispiel 1

str1 =

typeof(str1) =

strObj1 =

typeof(strObj1) =

(str1 == strObj1) =

(str1 === strObj1) =

(strObj1 == strObj12) =

(strObj1 === strObj12) =

Eigenschaften des „String“-Objekts

Die wichtigste vordefinierte Eigenschaft des „String“-Objekts ist „length“, mit der die Länge der verwendeten Zeichenkette ausgegeben werden kann. Die Eigenschaft „length“ kann mit einfachen Zeichenketten-Variablen, vom „String“-Objekt abgeleiteten eigenen Objekten und dem „String“-Objekt selbst verwendet werden:

HTML-Datei:

Ergebnis:

Beispiel 2

str2.length =

strObj2.length =

String("Hallo Welt!").length =

("Hallo Welt!").length =

Methoden des „String“-Objekts

Zum Suchen von Zeichenfolgen in einer Zeichenkette, hat das „String“-Objekt folgende vordefinierte Methoden:

  • indexOf(str, x): Index der ersten Übereinstimmung mit einer gesuchten Zeichenfolge „str“, ab Startindex „x“ (Ergebnis ist „-1“ bei keiner Übereinstimmung)
  • lastIndexOf(str, x): Index der letzten Übereinstimmung mit einer gesuchten Zeichenfolge „str“, ab Startindex „x“ (Ergebnis ist „-1“ bei keiner Übereinstimmung)
  • search(str): Index der ersten Übereinstimmung mit einer gesuchten Zeichenfolge „str“ (Ergebnis ist „-1“ bei keiner Übereinstimmung; kann mit Regulären Ausdrücken verwendet werden)
  • match(regexp): Sucht einen Regulären Ausdruck „regexp“ in einer Zeichenkette und gibt alle Treffer als Feld zurück

HTML-Datei:

Ergebnis:

Beispiel 3

str3.indexOf("zwei") =

str3.indexOf("zwei", 11) =

str3.lastIndexOf("zwei") =

str3.lastIndexOf("zwei", 11) =

str3.search("zwei") =

str3.match(/zwei/g) =

Zum Extrahieren von Zeichenfolgen aus einer Zeichenkette, hat das „String“-Objekt folgende vordefinierte Methoden:

  • slice(i, j): Zeichenfolge aus einer Zeichenkette von Index „i“ bis Index „j“ (wird „j“ weggelassen, wird die gesamte restliche Zeichenkette ab „i“ zurückgegeben; bei negativen Werten für „i“ und „j“ wird der Index rückwärts vom Ende gezählt)
  • substring(i, j): Zeichenfolge aus einer Zeichenkette von Index „i“ bis Index „j“ (wird „j“ weggelassen, wird die gesamte restliche Zeichenkette ab „i“ zurückgegeben)
  • substr(i, l): Zeichenfolge aus einer Zeichenkette von Index „i“ mit der Länge „l“ (wird „l“ weggelassen, wird die gesamte restliche Zeichenkette ab „i“ zurückgegeben; bei negativen Werten für „i“ wird der Index rückwärts vom Ende gezählt)
  • charAt(i): Einzelnes Zeichen aus einer Zeichenkette, bei Index „i“
  • charCodeAt(i): Unicode eines einzelnen Zeichens aus einer Zeichenkette, bei Index „i“

HTML-Datei:

Ergebnis:

Beispiel 4

str4.slice(6, 16) =

str4.slice(6) =

str4.slice(-10, -6) =

str4.slice(-4) =

str4.substring(6, 16) =

str4.substring(6) =

str4.substr(6, 16) =

str4.substr(6) =

str4.substr(-10, 4) =

str4.charAt(6) =

str4.charCodeAt(6) =

Zum Manipulieren von Zeichenketten, hat das „String“-Objekt folgende vordefinierte Methoden:

  • concat(str1, str2, ...): Fügt zwei oder mehrere Zeichenketten aneinander
  • split(tr): Teilt eine Zeichenkette mit einem Trennzeichen „tr“ in ein Feld auf
  • replace(str1, str2): Sucht eine Zeichenfolge „str1“ und ersetzt sie durch eine andere Zeichenfolge „str2“ (Kann auch mit Regulären Ausdrücken verwendet werden)
  • trim(): Entfernt Leerzeichen am Anfang und am Ende einer Zeichenkette
  • toLowerCase(): Konvertiert die Zeichenkette in Klein-Buchstaben
  • toUpperCase(): Konvertiert die Zeichenkette in Groß-Buchstaben

HTML-Datei:

Ergebnis:

Beispiel 5

str51.concat(", ", str52, "!") =

"Hallo".concat(" ", "Welt!") =

str53.split(";") =

str53.split(";")[1] =

str53.replace("Beta", "Delta") =

str53.replace(/Beta/g, "Delta") =

" Hallo Welt! ".trim() =

str53.toLowerCase() =

str53.toUpperCase() =

Zum Vergleichen von Zeichenketten, hat das „String“-Objekt folgende vordefinierte Methoden:

  • startsWith(str): Prüft, ob eine Zeichenkette mit einer bestimmten Zeichenfolge „str“ beginnt
  • endsWith(str): Prüft, ob eine Zeichenkette mit einer bestimmten Zeichenfolge „str“ endet
  • includes(str, i): Prüft, ob eine Zeichenkette eine bestimmte Zeichenfolge enthält; dabei kann ein Startindex angegeben werden
  • localeCompare(str): Prüft ob eine Zeichenfolge alphabetisch vor oder nach einer anderen Zeichenfolge „str“ kommt (gibt „-1“ bei „vor“ und „1“ bei „nach“ aus)

HTML-Datei:

Ergebnis:

Beispiel 6

str6.startsWith("Alpha") =

str6.startsWith("alpha") =

str6.endsWith("Beta") =

str6.endsWith("BETA") =

str6.includes("Gamma") =

"Alpha".localeCompare("Beta") =

"Beta".localeCompare("Alpha") =

Zum Konvertieren und Ausgeben von Zeichenketten, hat das „String“-Objekt folgende vordefinierte Methoden:

  • repeat(n): Gibt die Zeichenkette „n“ mal aus
  • toString(): Konvertiert den Wert in eine einfache Zeichenkette
  • valueOf(): Konvertiert den Wert in eine einfache Variable

HTML-Datei:

Ergebnis:

Beispiel 7

str7.repeat(3) =

str7.toString() =

typeof(str7) =

typeof(str7.toString()) =

str7.valueOf() =

typeof(str7.valueOf()) =

Mit der vordefinierten Methode „fromCharCode()“ des „String“-Objekts kann ein Unicode-Wert in das entsprechende Zeichen konvertiert werden:

HTML-Datei:

Ergebnis:

Beispiel 8

String.fromCharCode(65) =

String.fromCharCode(66) =

String.fromCharCode(67) =

String.fromCharCode(188) =

String.fromCharCode(196) =

String.fromCharCode(960) =

Globale Methode „String()“

Mit der globalen Methode „String()“ können verschiedene Werte in Zeichenketten konvertiert werden:

HTML-Datei:

Ergebnis:

Beispiel 9

typeof(num9) =

String(num9) =

typeof(String(num9)) =

typeof(bool9) =

String(bool9) =

typeof(String(bool9)) =

typeof(date9) =

String(date9) =

typeof(String(date9)) =

Abschlussübung

Als Abschlussübung kannst du folgende Seite erstellen, bei der aus einem Text mit Personldaten drei Vorschläge für Email-Accounts erstellt werden:

Beispiel 10



Vorschlag 1:
Vorschlag 2:
Vorschlag 3:

Gehe dabei wie folgt vor:

  • Lese den Text aus dem Textfeld aus
  • Suche mit „search()“ nach „Vorname“ im Text
  • Suche mit „indexOf()“ ab dem zuvor ermittelten Index nach „:“
  • Das Ergebnis von „indexOf()“ entspricht dem Startindex für das erste zu suchende Wort
  • Suche mit „search()“ nach „Nachname“
  • Das Ergebnis entspriht dem Stopindex für das erste zu suchende Wort
  • Ermittele nun das erste Wort mit „substring(Startindex, Stopindex)“
  • Verfahre genauso mit dem zweiten (Nachname) und dritten (Geburtsjahr) Wort, wobei der Stopindex für das dritte Wort die Länge des Textes ist
  • Verwende „trim()“ um Leerzeichen aus den gefundenen Wörtern zu entfernen
  • Verwende „concat“ um die Email-Vorschläge aus den drei Wörtern zu erstellen
  • Verwende „fromCharCode(64)“ um das „@“-Zeichen in die Email-Vorschläge einzufügen
  • Verwende „toLowerCase()“ um alle Zeichen klein darzustellen
  • Gebe die Email-Vorschläge in den Textfeldern mit „...value = ...“ aus

Die Lösung kannst du dir hier herunterladen:

Download
StringObjekt10.html
HTML Dokument 1.7 KB

Quellen