Thread Regulärer Ausdruck
(5 answers)
Opened by havi at 2010-06-08 09:37
Hallo!
Folgender Code besteht: Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #!/usr/bin/perl use warnings; use strict; my @aiString = ('1 1', '1 ér', '1 2', '1a w 1 1 2', '11 1 2 b'); for my $i (0 .. $#aiString) { print $aiString[$i].'|||'; $aiString[$i] = HnrKorr($aiString[$i]); print $aiString[$i]."\n"; } # for sub HnrKorr { my $string = shift;; ($string) =~ s%(?=[^a-zA-Z])(\s+)(?=[^a-zA-Z])%/%g; $string; } # HnrKorr Funktioniert soweit ganz gut, bis auf das Element im Array mit dem Sonderzeichen. Schon klar, es besteht die Möglichkeit das in (?=[^a-zA-Z]) einzubauen, allerdings wäre mit eine "grundsätzliche" Lösung "lieber". Wie kann ich Perl sagen - anstatt (?=[^a-zA-Z]) besser bei allen \d... ersetzen? Danke! Gruß, Gernot |