Brauche kurze Hilfe bei regex

Begonnen von betateilchen, 05 August 2013, 00:46:46

Vorheriges Thema - Nächstes Thema

betateilchen

Ich möchte in einem String alle Vorkommen von " ," durch "," ersetzen, also das Leerzeichen vor einem Komma löschen.
Alle regex-Varianten, die mir bisher dazu eingefallen sind, haben nicht so funktioniert wie erwartet.

=~ s/\s,/,/g

war mir das logischste, aber geht nicht. Bei Google finde ich eine Million Einträge zu regex, aber nix mit Kommas.

Danke für jeden zielführenden Hinweis.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

Olaf

ich denke, dein Problem liegt woanders.
Das
my $str = "ich bin da ,wo die Blumen blühen ,und alles blau ist.";
print $str."\n";
$str =~ s/\s,/,/g;
print $str."\n";

geht jedenfalls.
Du mußt mal mehr vom drumherum posten.

betateilchen

danke, die Sache hat sich schon erledigt. Es war eine optische Täuschung im WebFrontend von fhem. In Wirklichkeit war es nicht ein Leerzeichen und ein Komma, sondern ganz viele Leerzeichen vor dem Komma. Aber "gesehen" habe ich immer nur eines. Nach einem hexdump der Ausgabe war dann alles klar.

Die Lösung war dann
=~ s/\s+,/,/g;
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!