Thread Alles vorm "<" entfernen? (8 answers)
Opened by Brenner at 2010-01-25 08:00

murphy
 2010-01-25 09:05
#131169 #131169
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
2010-01-25T07:41:54 Brenner
[...]
$x = Der String eben

Korrekt.
Quote
0 = Ab wo es gilt bzw. ab wo geschaut werden soll?

Korrekt, das ist die Anfangsposition des Substrings im String.
Quote
index( $x, '<' ) = Ist ja die Länge vom substr. Was genau macht "index". Kannte ich bis eben noch gar nicht.

Dieser Parameter von substr legt die Länge des Substrings fest. Mit index wird die Position von '<' im ursprünglichen String ermittelt.
Quote
'' = Alles, von hinten gezählt, ab der Länge wird mit nichts ersetzt?

Alles vom Anfang bis zum Ende des ausgewählten Substrings wird durch den leeren String ersetzt.

Zusammengefasst bedeutet der komplette Befehl: Suche die Position des ersten Auftretens von '<' in $x und lösche alles bis zu dieser Position.

Anstatt $x destruktiv zu verändern könnte man auch den Substring ab der gesuchten Position selektieren, etwa so:
Code (perl): (dl )
my $y = substr $x, index($x, '<');


Falls nicht garantiert ist, dass $x überhaupt ein '<' enthält, sollte man ferner zunächst den Rückgabewert von index prüfen, bevor man ihn an substr weiterreicht.
When C++ is your hammer, every problem looks like your thumb.

View full thread Alles vorm "<" entfernen?