js_newb: Punkt ersetzen

Hi,

Ich moechte, dass in einem uebergebenen String alle Punkte (oder sogar gleich alle Sonderzeichen) gesucht und rausgeschmissen werden. Bsp:

4567.534 ---> 4567534

Nun wende ich das hier an :

string = "4567.534"

string.replace(/./g, "");

Funktioniert aber nicht. Ich hab schon so viel rumgesucht aber irgendwie komm ich nicht drauf.. Sieht einer den Fehler ?

  1. Hallo js_newb!

    Funktioniert aber nicht. Ich hab schon so viel rumgesucht aber irgendwie komm ich nicht drauf.. Sieht einer den Fehler ?

    <script type="text/javascript">
    var string = "4567.534";
    string = string.replace(/./g, "");
    alert(string);
    </script>

    Obiges funktioniert, wenn auch ich keiner Variable einen Namen geben würde, die einer JavaScript-Funktion ähnelt: String(), um bei etwaigen Tippfehlern Probleme zu vermeiden.

    Verrät die Fehlerkonsole irgendwas?

    Viele Grüße aus Frankfurt/Main,
    Patrick

    --

    _ - jenseits vom delirium - _
    [link:hatehtehpehdoppelpunktslashslashwehwehwehpunktatomicminuseggspunktcomslash]
    Nichts ist unmöglich? Doch!
    Heute schon gegökt?
  2. Hello out there!

    Funktioniert aber nicht.

    Was funktioniert nicht? Deine Problembeschreibung „funktioniert nicht“. Was ist dein Problem?

    Ich hab schon so viel rumgesucht

    Wohl an den falschen Stellen. Warum hast du nicht in SELFHTML gesucht? Dort wärst du auf http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichen gestoßen.

    See ya up the road,
    Gunnar

    --
    „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
    1. Funktioniert aber nicht.
      Was funktioniert nicht? Deine Problembeschreibung „funktioniert nicht“. Was ist dein Problem?

      Sein Nick deutet auf einen JS-Newbie hin, besonders da ist es nicht zuviel verlangt, ihm Hinweise zu geben, wo er Fehler finden kann (z.B. in der Javascript-Konsole im Firefox) und ggf. auf die allgemeinen Anforderungen an Problembeschreibungen hinzuweisen. So, wie Du geantwortet hast, wird die Antwort eines Newbies in etwa ausfallen "Das habe ich doch geschrieben, es funktioniert nicht".

      Ich hab schon so viel rumgesucht
      Wohl an den falschen Stellen. Warum hast du nicht in SELFHTML gesucht? Dort wärst du auf http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichen gestoßen.

      Nein, es hat nichts mit Regulären Ausdrücken zu tun.

      Siechfred

      1. Hello out there!

        Sein Nick deutet auf einen JS-Newbie hin, besonders da ist es nicht zuviel verlangt, ihm Hinweise zu geben, wo er Fehler finden kann

        Nun wende ich das hier an

        hatte ich nicht als „das ist mein vollständiger Code“ gelesen, deshalb hatte ich die Zuweisung des Ergebnisses von string.replace() bei meinem Test ganz selbstverständlich ergänzt.

        Ich hatte also keinen Fehler gesehen, bei mir hat der Code funktioniert, deshalb die Nachfrage, was „funktioniert nicht“ heißen sollte.

        Wohl an den falschen Stellen. Warum hast du nicht in SELFHTML gesucht? Dort wärst du auf http://de.selfhtml.org/perl/sprache/regexpr.htm#zeichen gestoßen.

        Nein, es hat nichts mit Regulären Ausdrücken zu tun.

        Der Verweis bezog sich auch eher auf

        (oder sogar gleich alle Sonderzeichen)

        Sprich: gleich alle Nicht-Ziffern.

        See ya up the road,
        Gunnar

        --
        „Und [dieses Forum] soll […] auch ein Fachforum bleiben und kein Psychologieforum werden.“ (Kirsten Evers)
  3. string = "4567.534"
    string.replace(/./g, "");

    Das kann auch nicht funktionieren. Du musst das Ergebnis der Operation auch verarbeiten, also so:

    var str_raw = "4567.534";  
    var str_cleaned = str_raw.replace(/\./g, "");  
    alert(str_raw); // 4567.534  
    alert(str_cleaned); // 4567534
    

    Nur dadurch, dass Du die Methode replace auf den Ausgangsstring anwendest, wird dieser nicht verändert, sondern liefert den veränderten String als Ergebnis. Nur weil du schreibst

    a = 10  
    a + a
    

    wird a nicht automatisch 20 :)

    Siechfred