dobra: RegEx Anweisung?

Hallo,

ich möchte das erste Leerzeichen nach einer "Nichtzahl" (kann klein/groß Buchstaben oder auch "," oder "-" sein) in einem String ersetzen, komme aber nicht klar damit :(

also  xx yy 34f -> soll zu  xx--yy 34f werden
das funktioniert ja ganz einfach mit
$string =~ s/ /--/;

aber wie schaffe ich es, daß  3 xx yy 34f -> zu 3 xx--yy 34f wird?

habe es so versucht:
$string =~ s/(\D) /--/;
aber da wird auch das letzte Zeichen vor dem Leerzeichen mitersetzt
-> 3 x--yy...

bitte um Nachsicht, ich beschäftige mich erst seit kurzem mit den regulären Ausdrücken....

mfG
dobra

  1. Hallo dobra!

    bitte um Nachsicht, ich beschäftige mich erst seit kurzem mit den regulären Ausdrücken....

    Dann ist es auch Zeit, sich langsam mit Look-around assertions zu beschäftigen ;)

    use strict;  
    my $string = "3 xx yy 34f";  
    $string =~ s/(?<=\D)\s/--/;  
    print $string;  
    
    

    Ausgabe: 3 xx--yy 34f

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --
    _ - jenseits vom delirium - _

       Diblom   [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    J'ai 10 ans! | Achtung Agentur! | Nichts ist unmöglich? Doch! | Heute schon gegökt?
    1. Hallo Patrick,

      vielen lieben Dank!
      Danke auch für den Link

      mdG
      dobra