Jerinca
Erfahrenes Mitglied
Hallo Leute!
Wieder mal ein replace-Problem, aber ich konnte nichts passendes im Forum finden
Folgendes: Ich habe in einem Textfeld mehrere mit *Sternchen* abgetrennte Zahlen stehen, sieht z.B. so aus:
*1*, *3*, *10*
Dieser Textfeldinhalt soll in einer JavaScript-Funktion weiterverarbeitet werden, und zwar sollen zunächst alle *Sternchen* entfernt werden; der Rest wird dann an den Kommas getrennt und in ein Array geschrieben (aber darum soll es jetzt hier nicht gehen)
Mit der replace-Funktion ergibt sich jetzt folgendes Problem (bin ganz stolz, daß ich nach Langem selbst darauf gekommen bin, wo das Problem überhaupt liegt ):
Wenn ich schreibe:
dann denkt der Browser (oder der Rechner oder was weiß ich, wer), daß ich mit /* ein Kommentar angefangen habe, weil in JavaScript kann man die Kommentare ja so machen: // oder eben so: /* ... */
Also ist das Verhalten (eben eine Fehlermeldung) ja schon irgendwie logisch... Nur wie bekomme ich mit replace jetzt wirklich die *Sternchen* ersetzt Hab's mal versucht mit Hochkommas und mit Anführungsstrichen:
aber beides wollte nicht klappen... d.h., es wurde eigentlich gar nix ersetzt
Die Funktion stimmt so aber schon von der Denkweise, denn wenn ich z.B. schreibe:
dann steht auch wirklich statt z.B.: *1*, *10* => **, *0*
Wie mach' ich dem denn jetzt nur klar, daß die *Sternchen* nix mit Kommentaren zu tun haben, sondern wirklich das sind, was ich ersetzt haben will :suspekt:
Bitte, bitte helft mir dabei
Wieder mal ein replace-Problem, aber ich konnte nichts passendes im Forum finden
Folgendes: Ich habe in einem Textfeld mehrere mit *Sternchen* abgetrennte Zahlen stehen, sieht z.B. so aus:
*1*, *3*, *10*
Dieser Textfeldinhalt soll in einer JavaScript-Funktion weiterverarbeitet werden, und zwar sollen zunächst alle *Sternchen* entfernt werden; der Rest wird dann an den Kommas getrennt und in ein Array geschrieben (aber darum soll es jetzt hier nicht gehen)
Mit der replace-Funktion ergibt sich jetzt folgendes Problem (bin ganz stolz, daß ich nach Langem selbst darauf gekommen bin, wo das Problem überhaupt liegt ):
Wenn ich schreibe:
Code:
irgend_ein_String.replace(/*/g, "");
dann denkt der Browser (oder der Rechner oder was weiß ich, wer), daß ich mit /* ein Kommentar angefangen habe, weil in JavaScript kann man die Kommentare ja so machen: // oder eben so: /* ... */
Also ist das Verhalten (eben eine Fehlermeldung) ja schon irgendwie logisch... Nur wie bekomme ich mit replace jetzt wirklich die *Sternchen* ersetzt Hab's mal versucht mit Hochkommas und mit Anführungsstrichen:
Code:
irgend_ein_String.replace(/'*'/g, "");
irgend_ein_String.replace(/"*"/g, "");
aber beides wollte nicht klappen... d.h., es wurde eigentlich gar nix ersetzt
Die Funktion stimmt so aber schon von der Denkweise, denn wenn ich z.B. schreibe:
Code:
irgend_ein_String.replace(/1/g, "");
dann steht auch wirklich statt z.B.: *1*, *10* => **, *0*
Wie mach' ich dem denn jetzt nur klar, daß die *Sternchen* nix mit Kommentaren zu tun haben, sondern wirklich das sind, was ich ersetzt haben will :suspekt:
Bitte, bitte helft mir dabei