[vienna.pm] 1 blank ersetzen
roland.bauer at fff.at
roland.bauer at fff.at
Tue May 29 18:28:55 CDT 2001
* * * vienna-pm-list * * *
> # Variante 2
> $str = 'a c';
> $str =~ s/([^ ]) ([^ ])/$1x$2/g;
> print "$str\n";
Genauere Ueberlegungen ergeben, das
das zB fuer ein einzelnes Blank am Beginn
auch nicht funktioniert.
So ginge es:
$str = ' c';
$str =~ s/(^|[^ ]) ([^ ])/$1x$2/g;
print "$str\n";
Ich glaube langsam, die length-Idee ist
der robusteste Ansatz. Vermutlich weil
er bloss die Anforderung in Perl
formuliert:
"Wenn mehrere Spaces hintereinander ..."
Aber was war genau gwuenscht?
"wie kann ich genau ein Leerzeichen ersetzen ?
Mehrere sollen ignoriert werden ?!"
Das koennte auch heissen:
- 1 Leerzeichen wird zu x
- mehrere werden geloescht
Das ginge dann zB so:
$str = 'a c';
$str =~ s/ {2,}//g;
$str =~ s/ /x/g;
print "$str\n";
Naemlich zweistufig:
- zuerst die mehrfachen loeschen
- die uebriggebliebenen einzelnen substituieren
Roland
###
You are subscribed to vienna-pm-list as <roland.bauer at fff.at>
http://www.fff.at/fff/vienna.pm/
More information about the Vienna-pm
mailing list