Benutzer-Werkzeuge

Webseiten-Werkzeuge


perl_zeichenketten_bearbeiten

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

perl_zeichenketten_bearbeiten [2015/06/01 09:18] (aktuell)
admin angelegt
Zeile 1: Zeile 1:
 +====== Zeichenketten bearbeiten ======
  
 +===== split =====
 +
 +Die split-Funktion unterteilt einen String an definierten Stellen und kopiert die Teile in einen Array. Diese Funktion verwendet reguläre Ausdrücke für die Trennstellen und splittet die $_-Variable,​ falls nichts anderes spezifiziert wird.
 +
 +<code perl>
 +$info = "​Teo:​Test:​Testpilot:​Musterstraße 4711";
 +@personal = split(/:/, $info);
 +</​code>​
 +
 +Dies ist gewissermaßen gleichbedeutend mit:
 +<code perl>
 +@personal = ("​Teo",​ "​Test",​ "​Testpilot",​ "​Musterstraße 4711"​);​
 +</​code>​
 +
 +Falls die Information in der $_-Variablen gespeichert ist:
 +<code perl>
 +@personal = split(/:/);
 +</​code>​
 +
 +Falls die einzelnen Felder durch eine beliebige Anzahl von Doppelpunkten unterteilt sind, kann ein regulärer Ausdruck verwendet werden.
 +
 +<code perl>
 +$_ = "​Tim:​Taylor::​Heimwerkerkönig:::​Hollywood 1";
 +@personal = split(/:​+/​);​
 +
 +# bedeutet das gleiche wie
 +
 +@personal = ("​Tim",​ "​Taylor",​
 +             "​Heimwerkerkönig",​ "​Hollywood 1");
 +
 +# Abgrenzung zu Split
 +$_ = "​Tim:​Taylor::​Heimwerkerkönig:::​Hollywood 1";
 +@personal = split(/:/);
 +den folgenden Array ergeben: ​
 +@personal = ("​Tim",​ "​Taylor",​
 +             "​Heimwerkerkönig",​ "",​ "",​ "​Hollywood 1");
 +</​code>​
 +
 +Man kann auch ein Wort in Buchstaben bzw. einen Satz in Wörter sowie einen Paragraph in Sätze aufgeteilen:​
 +
 +<code perl>
 +@chars = split(//, $word);
 +@words = split(/ /, $sentence);
 +@sentences = split(/\./, $paragraph);​
 +</​code>​
 +
 +Im ersten Fall wird der Null-String zwischen jedem Buchstaben erkannt, deshalb ist der @chars-Array ein Array von Buchstaben, dh. ein Array von Strings der Länge 1.
 +
 +===== substr =====
 +
 +Eine weitere Möglichkeit um Zeichenketten zu bearbeiten, ist die substr-Funktion
 +
 +<code perl>
 +substr("​Once upon a time", 3, 4);       # returns "e up"
 +substr("​Once upon a time", 7);          # returns "on a time"
 +substr("​Once upon a time", -6, 5);      # returns "a tim"
 +</​code>​
 +
 +Das erste Beispiel ergibt einen Substring der Länge 4, welcher an der 3. Stelle beginnt. Beachte, dass der erste Buchstaben eines Strings den Index 0 hat!
 +Beim zweiten Beispiel wird der letzte Parameter, die Länge des Substrings, weggelassen. Das Resultat ist ein Substring, welcher von der angegebenen Stelle bis zum Ende des Strings reicht.
 +Das dritte Beispiel benützt einen negativen Index. Es ergibt einen Substring, der an der 6. Stelle vom Ende des Strings an 5 Buchstaben lang ist.
 +
 +Falls der negative Index vor den Anfang des Stringes zeigt, wird Perl nichts zurückgeben und eine Warnung ausgeben. Um das zu vermeiden, kann man einen String verlängern unter Verwendung des x-operators,​ den wir früher erwähnt haben. Zum Beispiel erzeugt der Ausdruck (" "x30) erzeugt 30 Leerzeichen.
perl_zeichenketten_bearbeiten.txt · Zuletzt geändert: 2015/06/01 09:18 von admin