Bad Suliban: split() mit mehreren Parametern?

Hi,

offenbar ein noch nicht da gewesenes Problem, zumindest hat die Suche nichts ergeben.
Ich habe z.B. folgenden String: "1h23m45s"
Ich kann den aufteilen mit split("h").
Dann bekomm ich ein Array mit "1" und "23m45s". Wenn ich den String aber ganz aufteilen will (also in "1" "23" und "45") müsst ich mehrmals split() ausführen. Kann man bei split mehrere Paramenter verbinden?
So im Sinne von split("h","m","s") <- wobei ich diese Variante bereits ausprobiert habe, sie funzt nicht :-\

MfG, ABS

  1. Hi,

    in so nem Fall musst Du AFAIK tatsächlich zwei Schritte machen.

    1. Mit replace() (http://selfhtml.teamone.de/javascript/objekte/string.htm#replace) und zuhilfenahme einse Mini-Regulären Ausdrucks (für Buchstaben) (vgl. http://selfhtml.teamone.de/javascript/objekte/regexp.htm) die Buchstabe durch ein eindeutiges Trennzeichn ersetzen.

    2. Auf den so bearbeiteten String dann split() anwenden.

    Grüße,

    Utz

    1. Ach thooo geeet dat :-)

      Hab mir schon was in diese Richtung mit "Zeichen ersetzen" gedacht.

      Danke.

      MfG, ABS

  2. Aloha!

    Ich habe z.B. folgenden String: "1h23m45s"
    Ich kann den aufteilen mit split("h").
    Dann bekomm ich ein Array mit "1" und "23m45s". Wenn ich den String aber ganz aufteilen will (also in "1" "23" und "45") müsst ich mehrmals split() ausführen. Kann man bei split mehrere Paramenter verbinden?
    So im Sinne von split("h","m","s") <- wobei ich diese Variante bereits ausprobiert habe, sie funzt nicht :-\

    split() ist dann gut, wenn du _ein_ eindeutiges Trennzeichen hast und die Zwischenräume zwischen diesem Zeichen trennen und als Werte verarbeiten willst.

    Für deine Anwendung empfiehlt sich entweder substr(), wenn du sicher sagen kannst, dass dein String feste Längen hat, oder du nimmst einen regulären Ausdruck, der dir direkt die Teilstrings liefern kann. Du benötigst split() in keinem Fall.

    - Sven Rautenberg

  3. Hallo

    offenbar ein noch nicht da gewesenes Problem, zumindest hat die Suche nichts ergeben.
    Ich habe z.B. folgenden String: "1h23m45s"
    Kann man bei split mehrere Paramenter verbinden?

    Ja, split kann  auch reguläre Ausdrücke verarbeiten.

    x="1h23m45s";
    y=x.split(/[hms]/);

    for (i in y)
    document.write(y[i],"<br>");

    Einziger Nachteil:
    Opera kann das nicht. Sofern du auch für diesen Browser schreibst mußt du Utz seine Methode anwenden.

    Viele Grüße

    Antje