Benutzer-Werkzeuge

Webseiten-Werkzeuge


perl_zeichenketten_bearbeiten

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.

$info = "Teo:Test:Testpilot:Musterstraße 4711";
@personal = split(/:/, $info);

Dies ist gewissermaßen gleichbedeutend mit:

@personal = ("Teo", "Test", "Testpilot", "Musterstraße 4711");

Falls die Information in der $_-Variablen gespeichert ist:

@personal = split(/:/);

Falls die einzelnen Felder durch eine beliebige Anzahl von Doppelpunkten unterteilt sind, kann ein regulärer Ausdruck verwendet werden.

$_ = "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");

Man kann auch ein Wort in Buchstaben bzw. einen Satz in Wörter sowie einen Paragraph in Sätze aufgeteilen:

@chars = split(//, $word);
@words = split(/ /, $sentence);
@sentences = split(/\./, $paragraph);

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

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"

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