FHEM Forum

FHEM => Codeschnipsel => Thema gestartet von: betateilchen am 05 August 2013, 00:46:46

Titel: Brauche kurze Hilfe bei regex
Beitrag von: betateilchen am 05 August 2013, 00:46:46
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.
Titel: Aw: Brauche kurze Hilfe bei regex
Beitrag von: Olaf am 05 August 2013, 06:31:39
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.
Titel: Aw: Brauche kurze Hilfe bei regex
Beitrag von: betateilchen am 05 August 2013, 10:42:51
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;