[vienna.pm] genau ein whitespace ersetzen ????
Peter J . Holzer
hjp at wsr.ac.at
Wed May 30 02:04:51 CDT 2001
On 2001-05-29 11:38:51 +0200, Marcel Grunauer wrote:
> Willst Du alle Spaces ersetzen, solange sie nur einzeln
> auftreten, d.h. nicht mehr als eins nacheinander, nimm
>
> $str =~ s/ (?! )/x/g;
Nicht ganz. Das ersetzt auch das jeweils letzte Blank von mehreren. Man
bräuchte noch ein negative lookbehind, um zu checken, ob davor auch kein
Blank kommt:
$str =~ s/(?<! ) (?! )/x/g;
Ohne Look(ahead|behind) kommt man aus, wenn man davon ausgeht, daß "kein
Blank" entweder "ein Zeichen, das kein Blank ist" oder Zeilenanfang bzw.
Zeilenende bedeutet:
$str =~ s/(^|[^ ]) ($|[^ ])/$1x$2/g;
Ist aber auch nicht leichter zu lesen :-)
hp
--
_ | Peter J. Holzer | It's nice to fix problems by accident.
|_|_) | Sysadmin WSR / LUGA | -- Theo de Raadt
| | | hjp at wsr.ac.at | <deraadt at CVS.OPENBSD.ORG>
__/ | http://www.hjp.at/ | on bugtraq 2001-03-19
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 371 bytes
Desc: not available
Url : http://mail.pm.org/archives/vienna-pm/attachments/20010530/efd0c1f4/attachment.bin
More information about the Vienna-pm
mailing list