Martin: Leerzeichen aus Zeichenkette entfernen!

Tach Allerseits,

ne Frage: Wie bekomme ich aus einer Zeichenkette mit Hilfe von regulären Ausdrücke alle Leerzeichen weg, außer je ein Leerzeichen zwischen zwei benachbarte Wörter?
Beispiel: $Zeichenkette = "    ein Wort   ,     noch   ein   Wort  ";
          Ich will Zeichenkette aber so:
          "ein Wort , noch ein Wort"

Danke im voraus!
Gruß Martin

  1. hi

    $Zeichenkette=~s/ +/ /g;
    $Zeichenkette=~s/(?:^\s+)(?:\s+$)//g;

    statt " " solltest du aber besser auch \s nehmen (was allerdings auch \n mit einschliesst, daher vorsicht!)

    --> perldoc perlre

    cua

    n.d.p.

    1. $Zeichenkette=~s/ +/ /g;
      $Zeichenkette=~s/(?:^\s+)(?:\s+$)//g;

      Hi perldoc,
      Danke erst mal für deine Antwort!

      dein Vorschlag funktioniert, aber wenn ich eine Zeichenkette mit Zeilenumbruch habe, z.B.: "Neu
                                 neue     Zeile   hier  
                                 letzte        Zeile   "

      Dann soll folgendes dabei rauskommen:
      "Neu neue Zeile hier , letzte Zeile"

      Es kommt aber folgendes heraus:
      "Neuneue Zeile hierletzte Zeile"

      Ich will zwischen den Zeilen auch NUR EIN Leerzeichen.

      Danke Doc!

      Gruß Martin