zeichen ersetzen mit nichts
Martin
- perl
Hallo,
möchte in einem String alle Zeichen löschen ausser Buchstaben. Warum funktioniert das hier nicht:
$test =~ tr/a-z|A-Z//c;
Gruß
Martin
Hallo,
möchte in einem String alle Zeichen löschen ausser Buchstaben. Warum funktioniert das hier nicht:
$test =~ tr/a-z|A-Z//c;
$test =~ tr/[^a-zA-Z]//c;
oder mit
$test =~ tr/\W//c;
hoffe das war richtig...
gruss
horst
Hallo,
möchte in einem String alle Zeichen löschen ausser Buchstaben. Warum funktioniert das hier nicht:
$test =~ tr/a-z|A-Z//c;
$test =~ tr/[^a-zA-Z]//c;
oder mit
$test =~ tr/\W//c;
hoffe das war richtig...
gruss
horst
Habe gerade herausgefunden, das das hier auch geht:
$test =~ tr/a-z|A-Z/-/c;
...logisch, das wäre dann auch richtig:
$test =~ tr/a-zA-Z/-/c;
Habe gerade irgendwo gelesen, dass dem Zeichen"-" eine besondere Rolle zusteht und wenn man das im Ersetzungsoperator einsetzt wird das Zeichen davor benutzt. Und wenn da keins ist wird es auch mit nichts ersetzt. Das ist mal wieder Typisch Perl :-)
Gruß
Dirk