wie einen bestimmten String ausschneiden?

09/03/2011 - 17:22 von Astrid Kuhr | Report spam
Hallo!

Habe auf einer Perlvariablen einen String stehen.
Der sieht z.B. so aus:

/home/meier/P15-T40-V25_110309_170608/P15-T40-V25_001.dir

In obigem Fall moechte ich das erhalten:
P15-T40-V25

Das finde ich, indem ich von rueckwaerts komme und den
ersten _ von rechts suche und ab da nach rechts (incl. _) alles
abschnibbel und dann bei dem Rest von rechts suche bis zum ersten /
und nach links (incl. /) alles abschnibbel.

Wie bekommt man das in Perl hin, ohne den ganzen String in
einer Schleife zeichenweise zu durchlaufen?

Gruss, Astrid
 

Lesen sie die antworten

#1 Wolf Behrenhoff
09/03/2011 - 17:42 | Warnen spam
On 09.03.2011 17:22, Astrid Kuhr wrote:

Hallo!

Habe auf einer Perlvariablen einen String stehen.
Der sieht z.B. so aus:

/home/meier/P15-T40-V25_110309_170608/P15-T40-V25_001.dir

In obigem Fall moechte ich das erhalten:
P15-T40-V25

Das finde ich, indem ich von rueckwaerts komme und den
ersten _ von rechts suche und ab da nach rechts (incl. _) alles
abschnibbel und dann bei dem Rest von rechts suche bis zum ersten /
und nach links (incl. /) alles abschnibbel.

Wie bekommt man das in Perl hin, ohne den ganzen String in
einer Schleife zeichenweise zu durchlaufen?



Zum Beispiel so:

use File::Basename;
$_=basename "/home/meier/P15-T40-V25_110309_170608/P15-T40-V25_001.dir";
s/(.*)_.*/$1/;
say

Ansonsten alternativ auch
$_="/home/meier/P15-T40-V25_110309_170608/P15-T40-V25_001.dir";s!.*/(.*)_.*!$1!;
say

- Wolf

Ähnliche fragen