replace() mehr als einmal?
myAlexander
- javascript
0 Thomas Meinike0 Utz0 Dieter Raber0 MudGuard
Hallo zusammen,
ich möchte via Javascript eine Zeichenkette komplett durchsuchen und eine bestimmte Zeichenkombination ersetzen.
Hierzu habe ich die Funktion replace() gefunden. Allerdings ersetzt er mir nur die erste Zeichenkombination, nicht alle. Was kann ich tun, damit die komplette Zeichenkette durchsucht und bearbeitet wird?
Beispiel Zeichenkette:
%2Fpfad%2FVerzeichnis%2Fdatei
Ich möchte
%2F durch /
ersetzen.
Code:
var vormals = "%2Fpfad%2FVerzeichnis%2Fdatei";
var jetzt = vormals.replace(/%2F/,"/");
document.write(jetzt);
Ergebnis:
/pfad%2FVerzeichnis%2Fdatei
Viele Grüße
Alexander
Hallo,
var vormals = "%2Fpfad%2FVerzeichnis%2Fdatei";
var jetzt = vormals.replace(/%2F/,"/");
^^
var jetzt = vormals.replace(/%2F/g,"/");
MfG, Thomas
Hey,
var jetzt = vormals.replace(/%2F/g,"/");
*Hervorragend!* :-)
Vielen Dank!
Alexander
Hallo,
schau Dir mal die Syntax zu Regulären Ausdrücken an, hier insbesondere /.../g bzw. /.../gi, damit kannst Du regeln, dass jedes Vorkommen der Zeichenkette gefunden wird.
Grüße,
Utz
Hallo Alexander,
Schau Dir mal an, was Modifier mit regulaeren Ausdruecken anstellen, zB. hier. Du brauchst also in Deinem Fall /Ausdruck/g wie global. Eine gute Software im Umgang mit regulaeren Ausdruecken ist http://www.weitz.de/regex-coach/@titleRegexCoach.
Dieter
Hi,
ich möchte via Javascript eine Zeichenkette komplett durchsuchen und eine bestimmte Zeichenkombination ersetzen.
Wie das für den allgemeinen Fall, daß tatsächlich ein Regex erforderlich ist, geht, weißt Du ja jetzt.
%2Fpfad%2FVerzeichnis%2Fdatei
Ich möchte
%2F durch /
Für die Dekodierung von URL-encoded Strings gibt es in Javascript die Funktion unescape
cu,
Andreas
Für die Dekodierung von URL-encoded Strings gibt es in Javascript die Funktion unescape
Das triffts dann ins Schwarze! Vielen Dank! :-)
Viele Grüße
Alexander