String-Methoden: Auswertung von Zeichenketten

Aufgabe 8

Angenommen, ein Anwender hat Ihrem Supportmitarbeiter auf dessen Anfrage hin seine Navigatoreigenschaften als E-Mail zugesendet.
Eine mögliche Variante des Ergebnisses könnte folgendermaßen aussehen:

Browsereigenschaften=Spitzname%3DMozilla%26Browsername%3DNetscape%26
Browserversion%3D4.5%20[de]C-QXW0310J%20(Win98;%20I)%26Sprachvariante%3Dde%26
Betriebssystem%3DWin32

Hier wurde ein Textfeld namens Browsereigenschaften mit verschiedenen Werten versehen.
Beim Versenden der Daten wurde der zu übertragende Text im "WWW-URL-Format" kodiert.

Teil 1

  1. Trennen Sie die übertragene Zeichenfolge am Zuweisungszeichen (=) in 2 Teile (Eingabefeldname und Feldwert)
  2. Trennen Sie nun den Feldwert an der Zeichenfolge %26 in einzelne Teilzeichenketten
  3. Trennen Sie jede Teilzeichenkette an der Zeichenfolge %3D in eine Eigenschaft und deren Wert
  4. Geben Sie das Ergebnis zeilenweise im HTML-Dokument aus.
Teil 2
  1. Versuchen Sie mit den bekannten Methoden die Zeichenfolge %20 durch ein Leerzeichen zu ersetzen
  2. Geben Sie das Ergebnis zeilenweise im HTML-Dokument aus.
Lösung:
/* Zuweisung der obigen Zeichenkette an eine Variable s: */
s="....";

/* Auftrennen von s am Zuweisungszeichen. Es entsteht ein Array s1 (Feld) aus 2 Elementen s1[0] und s1[1] */
s1=s.split("=");  /* s1[0] = Eingabefeldname, s1[1] = Feldwert */

/* Auftrennen des Feldwertes, welcher in s1[1] steht, in Teilzeichenketten.
Es entsteht ein Array s2 (Feld) aus diversen Elementen.
Die Anzahl dieser Elemente  wird durch s2.length bestimmt. */
s2=s1[1].split("%26"); /* s2[i] = einzelne Teilzeichenketten (insgesamt s2.length Stück) */

/* Ausgabe des Eingabefeldnamens als Überschrift 3. Ordnung */
document.write("<h3>"+s1[0]+"</h3>");

/* Zur Auftrennung der einzelnen Teilzeichenketten wird eine Programmschleife durchlaufen.
Hierbei wird eine Laufvariable i verwendet. Sie wird beim ersten Durchlauf auf 0 (i=0;) gesetzt.
Bei jedem Durchlauf wird geprüft, ob die Programmschleife noch zu durchlaufen ist (i<s2.length;).
Nach jedem Durchlauf wird die Laufvariable i um 1 erhöht (i++).
Innerhalb eines Schleifendurchlaufs werden die in den geschweiften Klammern stehenden Anweisungen ausgeführt. /*
for (i=0;i<s2.length;i++)
{
 s3=s2[i].split("%3D");    /* Auftrennung der Teilzeichenkette an der Zeichenfolge %3D */

/* Ausgabe des 1. Teils als kursiver Text gefolgt vom Gleichheitszeichen */
 document.write("<br>"+s3[0].italics()+" =");

/* Auftrennen von s3[1] an der Zeichenfolge %20*/
s4=s3[1].split("%20");

/* Es werden, wiederum in einer Programmschleife, die einzelnen Zeichenkettenteile ausgegeben */
for(j=0;j<s4.length;j++)document.write(" "+s4[j]);
}
/* Hier ist die Programmschleife beendet. */

Lösungsaufruf

Webdesign by: Dipl.-Math. Horst Liske, EDV-Beratung HolyWare©,E-Mail an Horst@holyware.de