Perl regex - kann ich sagen "wenn der Zeichenkette entspricht, löschen Sie Sie und alle zu Recht'?

Ich habe ein array von strings, von denen einige enthalten das Zeichen '-'. Ich möchte in der Lage sein zu suchen und diese Zeichenfolgen enthalten es ich wollen, löschen Sie alle Zeichen, die rechts von ihm.

So zum Beispiel, wenn ich habe:

$string1 = 'home - London';
$string2 = 'office';
$string3 = 'friend-Manchester';

oder etwas als solche, dann wird der betroffene strings werden würde:

$string1 = 'home';
$string3 = 'friend';

Ich weiß nicht, ob das Leerzeichen vor dem " - " im string enthalten danach (ich will es nicht wie ich will vergleichen von strings zu einem späteren Zeitpunkt, obwohl, wenn Sie nicht auf string-Vergleiche, dann ist es egal).

Ich weiß, dass ich kann suchen und ersetzen bestimmter Zeichenketten/Zeichen mit so etwas wie:

$string1 =~ s/-//
or 
$string1 =~ tr/-//

aber ich bin nicht sehr vertraut mit regulären Ausdrücken in Perl also ich bin mir nicht 100% sicher, dass dieser. Ich habe sah sich um und konnte nichts sehen zu tun, mit 'to the right of' im regex. Hilfe dankbar!

InformationsquelleAutor dgBP | 2012-10-01

Schreibe einen Kommentar