Autor Thema: Brauche kurze Hilfe bei regex  (Gelesen 2494 mal)

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18259
  • Stoppt den Unicode-Irrsinn!
Brauche kurze Hilfe bei regex
« 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.
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Lesen gefährdet die Unwissenheit!

Olaf

  • Gast
Aw: Brauche kurze Hilfe bei regex
« Antwort #1 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.

Offline betateilchen

  • Developer
  • Hero Member
  • ****
  • Beiträge: 18259
  • Stoppt den Unicode-Irrsinn!
Aw: Brauche kurze Hilfe bei regex
« Antwort #2 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;
-----------------------
Unaufgeforderte Anfragen per email werden von mir nicht beantwortet. Dafür ist das Forum da.
-----------------------
Lesen gefährdet die Unwissenheit!

 

decade-submarginal