Stefan: Mehere Leerzeichen zu einem umwandeln

Hallo,

ich bin geraed dabei eine Funktion zu suchen, die mehrere aufeinanderfolgende Leerzeichen zu einem einzigen Leerzeichen umwandelt. Bisher habe ich hinbekommen, alle Leerzeichen vom Anfang und vom Ende einer Eingabe entfernen zu lassen. Leider habe ich keine Ahnung, wie das mit mehreren Leerzeichen zu einem funktionieren soll. Ich würde mich freuen, wenn mir einer einen Tipp geben könnte oder noch besser, wenn jemand die Funktion posten könnte, da ich leider nicht der Fitteste bin, was reguläre Ausdrücke angeht. Meine Funktion (ich nenn sie einfach mal trim) sieht derzeit so aus:

function trim (string) {
  return string.replace (/^\s+/, '').replace (/\s+$/, '');
}

Es wäre schön, wenn man das weswegen ich diesen Thread eröffne noch mit in die Funktion basteln könnte. Ich würde mich aber auch freuen, wenn jemadn eine zweite Funktion (unabhängig von meiner) posten würde. Vielen Dank schonmal im vorraus!

  1. @@Stefan:

    function trim (string) {
      return string.replace (/^\s+/, '').replace (/\s+$/, '');
    }

    Übersichtlicher wird’s wohl, wenn du nicht alles in eine Zeile schreibst, sondern jede Ersetzung in einer:

    function trim(string)  
    {  
      string = string.replace(/^\s+/, ''); // 1. Ersetzung: Leerzeichen am Anfang weg  
      string = string.replace(/\s+$/, ''); // 2. Ersetzung: Leerzeichen am Ende weg  
                                           // TODO: 3. Ersetzung: multiple Leerzeichen durch eins ersetzen  
      return string;  
    }
    

    Wie der Ausdruck für eine bestimmte Anzahl, einer Mindestanzahl (was du brauchst), einer Höchstanzahl bzw. eines Bereichs aussieht, ist in [http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichenketten@title=SELFHTML] beschrieben.

    Live long and prosper,
    Gunnar

    --
    „Das Internet ist ein großer Misthaufen, in dem man allerdings auch kleine Schätze und Perlen finden kann.“ (Joseph Weizenbaum)
  2. Moin!

    ich bin geraed dabei eine Funktion zu suchen, die mehrere aufeinanderfolgende Leerzeichen zu einem einzigen Leerzeichen umwandelt.

    Schau bei Peter unter superTrim nach

    Cü,

    Kai

    --
    What is the difference between Scientology and Microsoft? One is an
    evil cult bent on world domination and the other was begun by L. Ron
    Hubbard
    ie:{ fl:( br:< va:) ls:? fo:| rl:? n4:° ss:{ de:] js:| ch:? mo:| zu:|]