Mit Perl bestimmten String suchen

S

StruppiMac

Mitglied
Thread Starter
Dabei seit
18.05.2006
Beiträge
2.862
Reaktionspunkte
39
Hi,

ich möchte in einer Variable $text den String "test=" suchen und die nächsten 4 Zeichen in die $ergebnis-Variable kopieren.

Bisher hab ich immer den Text bei test= teilen lassen (split) und mir die 4 Zeichen dann so rausgefriemelt - aber das kann es ja nicht sein.

Gibt es da eine einfachere Lösung?

Gruß + danke
 
$ergebnis=~ s/^test=//
 
Ist s// nicht - ersetzen?
 
So ginge es auch:
Code:
#!/usr/bin/env perl
$text = "Lorem ipsum dolor test=1234 sit amet.";
( $result ) = ( $text =~ /test=(....)/ );
print $result;
Damit holst Du genau 4 Zeichen nach "test=" aus dem String, wobei dort jedes Zeichen (deshalb der .) stehen darf.

Du kannst auch mehr als ein Pattern aus dem String holen:
Code:
$text = "Lorem ipsumdolor test1=1234 sit test2=abc amet.";
( $result1, $result2 ) = ( $text =~ /test1=(.*) .* test2=(.*) / );
print $result1 . " " . $result2;
 
Zurück
Oben Unten