String in Perl kürzen

Wer kann mir sagen, wie ich einen String in Perl kürzen kann. Angenommen ich wollte aus
$string = „Eingabestringuu“;
die letzten beiden u’s entfernen.
Wie geht das?
Danke!

Gruss

Hannes

Hi,

Wer kann mir sagen, wie ich einen String
in Perl kürzen kann. Angenommen ich
wollte aus
$string = „Eingabestringuu“;
die letzten beiden u’s entfernen.

nenne mir eine Zahl zwischen 1 und 10!

6? Okay:

1.: $string = substr($string,0,-2);
2.: $string =~ s/u+$//;
3.: $string =~ s/uu$//;
4.: $string =~ s/([^u]+)uu/$1/;
5.: $string = substr($string,0,index($string,„uu“));
6.: $string =~ s/…$//;

Was Du davon verwendest, hängt von Deiner Absicht ab. Willst Du die beiden letzten „u“ löschen, ist 3. die beste Wahl. Willst Du die letzten „u“ löschen, ist es 2., willst Du die letzten beiden Zeichen löschen, ist es 1. oder 6., willst Du zwei „u“ löschen, ist es 4. oder 5.

Und wenn Du weitere Möglichkeiten suchst, werde ich gerne noch erfinderischer :smile: Dennoch solltest Du in der Perldoku mal „perldoc -f substr“ und „perldoc perlre“ aufrufen.

Cheatah
http://cheatah.net

nenne mir eine Zahl zwischen 1 und 10!

6? Okay:

1.: $string = substr($string,0,-2);
2.: $string =~ s/u+$//;
3.: $string =~ s/uu$//;
4.: $string =~ s/([^u]+)uu/$1/;
5.: $string =
substr($string,0,index($string,„uu“));
6.: $string =~ s/…$//;

Danke.
6. Ist das, was dem ganzen am nächsten kommt, da ich eigentlich nicht weiss, welche Buchstaben der String enthält…

Gruss

Hannes

Hi,

1.: $string = substr($string,0,-2);
6.: $string =~ s/…$//;

Danke.

nicht dafür :smile:

  1. Ist das, was dem ganzen am nächsten
    kommt, da ich eigentlich nicht weiss,
    welche Buchstaben der String enthält…

In dem Fall solltest Du vielleicht Nr. 1 vorziehen; es tut das selbe, ist aber weniger aufwendig (Regular Expressions erfordern eine Menge mehr an Aufwand, was bei der Menge an Möglichkeiten kaum überraschen dürfte *g*). Wie neulich im Usenet jemand bemerkte: Die vielfältigen Fähigkeiten der RegExp verleiten dazu, sie auch dort zu benutzen, wo sie nicht gebraucht werden…

Cheatah
http://cheatah.net