Javascript hat spätestens mit der Einführung des Web2.0-Begriffs den entgültigen Durchbruch geschaft und kann mittlerweile bei diversen Aufgaben sogar mit Flash konkurieren. Zu verdanken ist diese Entwicklung auch den vielen Javascript-Bibliotheken (auch JS-Frameworks genannt, siehe Prototype, Mootools usw).
Trotz aller Funktionsvielfalt, welche diese Javascript-Frameworks mitbringen, benötigt jeder halbwegs gut beschäftigter Webentwickler immer wieder kleinere Hilfestellungen bei der Bewältigung wiederkehrender Aufgaben, wie z.B. bei der Verabeitung der Zeichenketten (im Nachvollgenden Strings genannt).
Generell sind die Stringfunktionen bei Javascript bei weitem nicht so mächtig, wie beispielsweise in PHP, ausgeklügelte Kombination der wenigen vorhandenen Stringfunktionen erlauben jedoch auch in JS zufriedenstellende Ergebnisse. Wir wollen uns noch die wichtigsten Funktionen zu Manipulation der Zeichenketten genauer anschauen (die reinen Formatierungsfunktionen ala bold(), italics() u.a lassen wir dabei draußen)….
Wichiger Hinweis: Die Stings/Zeichketten werden in Javascript wie viele andere Datentypen als Objekte behandelt. Aus diesem Grund kann jede Zeichenkette als fertiges Objekt aufgefasst werden, welches implizit den Zugriff alle vorhannden String-Methoden ermöglicht. Die verwendete Punkt-Notation wurde aus der Objektorientierung übernommen und ist stets im folgenden Format anzugeben: Zeichenkette.Methode()
Aufgabe:
String aufsplitten /spalten
Funktion:
String.split(Delimeter)
Rückgabe:
Ein Array mit den Teil-Zeichenketten oder vollständigem String, wenn Delimeter nicht vorgefunden wurde
Beschreibung:
Spaltet die Zeichnenkette an den Stellen auf, wo der Inhalt des Delimeter-Parameter vorgefunden wurde. Der Delimeter dient also als Trennmarkierung zum Aufsplitten des Strings.
Beispiel:
Wir möchten einen Satz in seine Bestandteile(Wörter) zerlegen. Dazu nutzen wir das Leerzeichen(” “) als Delimeter.
var zeichenkette = "Hier werden Stringfunktionen für Javascript behandelt.";
var teile = zeichenkette.split(" ");
alert(teile); // Ausgabe: {"Hier", "werden", "Stringfunktionen", "für", "Javascript", "behandelt"}
Aufgabe:
Strings zusammenfügen
Funktion:
String1.concat(String2)
Rückgabe:
Eine zusammengesetzte Zeichenkette aus “String1″ und “String2″
Beschreibung:
Hängt den String_2 an das Ende des String_1
Beispiel:
Wir möchten zwei Teilsätze zu einem vollständigen Satz zusammensetzen (Vorsicht - sinnfrei
)
var anfang = "Hier werden";
var ende = " Stringfunktionen für Javascript behandelt.";
var satz = anfang.concat(ende);
alert(satz); // Ausgabe: Hier werden Stringfunktionen für Javascript behandelt.
Aufgabe:
Position eines Strings in einem anderen ermitteln
Funktion:
String1.indexOf(String2)
Rückgabe:
Ein Integer-Wert, welcher die Stelle angibt, an der String_2 in String_1 erstmals auftritt. Vorsicht: diese Funktion ist casesensitiv, d.h sie unterscheidet zwischen Groß- und kleinschreibung
Beschreibung:
Diese Funktion hilft festzustellen, ob bspw. ein bestimmtes Zeichen bzw. Wort in einem Text vorkommt. Wenn es keine Treffer gibt, liefer die Funktion die Ausgabe “-1″. Die Zählung der Position beginnt mit 0
Beispiel:
Wir möchten ermitteln, ob das Wort “Stringfunktionen” in unserem berühmten Beispielsatz vorkommt.
var satz = "Hier werden Stringfunktionen für Javascript behandelt.";
var treffer = satz.indexOf("Stringfunktionen");
alert(treffer); // Ausgabe: 12
var treffer = satz.indexOf("Hier");
alert(treffer); // Ausgabe: 0
var treffer = satz.indexOf("keine");
alert(treffer); // Ausgabe: -1
Aufgabe:
Letztes Vorkommen/Position eines Strings in einem anderen ermitteln
Funktion:
String1.lastIndexOf(String2)
Rückgabe:
Ein Integer-Wert, welcher die Stelle angibt, an der “String2″ in “String1″ letztmalig auftritt. Vorsicht: diese Funktion ist casesensitiv, d.h sie unterscheidet zwischen Groß- und kleinschreibung
Beschreibung:
Diese Funktion ist mit der indexOf() verwandt, ermittelt jedoch immer die letzte Position an der ein bestimmtes Zeichen bzw. Wort in einem Text vorkommt. Wenn es keine Treffer gibt, liefer die Funktion die Ausgabe “-1″. Die Zählung der Position beginnt mit 0
Beispiel:
Wir wollen herausfinden, an welcher Stelle der Buchstabe “e” im Wort “Webdevelopment” auftaucht
var wort = "Webdevelopment";
var treffer = wort.lastIndexOf("e");
alert(treffer); // Ausgabe: 11
var treffer = wort.lastIndexOf("W"); // Ausgabe: 0
var treffer = wort.lastIndexOf("w"); // Ausgabe: -1
// Gegencheck und Vergleich mit indexOf()-Funktion
var treffer= wort.indexOf("e"); // Ausgabe: 1
Aufgabe:
Einen String aus einem anderen ausschneiden [1]
Funktion:
String.subst(start, [länge])
Rückgabe:
Eine Teilzeichenkette aus “String”, die an der Position “start” anfängt und “länge” Zeichen lang ist.
Beschreibung:
Diese Funktion ist hilfreich, um gewünschte Bereiche gezielt aus einem String/Text auszuschneiden. Gezielt deshalb, weil man den Anfang und Ende mehr oder weniger direkt angeben muss. Wird die Länge nicht angegeben, so wird der Teilstring geliefert, der mit “start” anfängt und bis zum Ende des “String” geht.
Beispiel:
Wir wollen das Wort “Stringfunktionen” aus unserem Satz ausschneiden.
var satz = "Hier werden Stringfunktionen für Javascript behandelt.";
var ausschnitt = satz.substr(12,16);
alert(ausschnitt); // Ausgabe: Stringfunktionen
var ausschnitt = satz.substr(12); // Ausgabe: Stringfunktionen für Javascript behandelt.
Aufgabe:
Einen String aus einem anderen ausschneiden [2]
Funktion:
String.substring(start, [ende])
Rückgabe:
Eine Teilzeichenkette aus “String”, die an der Position “start” anfängt und Position “ende” aufhört
Beschreibung:
Diese Stringfunktion ist hilfreich, um gewünschte Bereiche gezielt aus einem String/Text auszuschneiden. Gezielt deshalb, weil man den Anfang und das Ende des auszuschneidenden Bereichs direkt angeben muss. Wird das “ende” nicht angegeben, so wird der Teilstring geliefert, der mit “start” anfängt und bis zum Ende des “String” geht.
Beispiel:
Wir wollen das Wort “Stringfunktionen” aus unserem Satz ausschneiden.
var satz = "Hier werden Stringfunktionen für Javascript behandelt.";
var ausschnitt = satz.substring(12,28); // 12+16 = 28
alert(ausschnitt); // Ausgabe: Stringfunktionen
var ausschnitt = satz.substring(12); // Ausgabe: Stringfunktionen für Javascript behandelt.
//Gegencheck und Vergleich zu substr()
var ausschnitt = satz.substr(12, 16); // Ausgabe: Stringfunktionen für Javascript behandelt.
Fortsetzung folgt….