Why do they use
/
instead of
'
in JavaScript string replace()? E.g.:
document.write(str.replace(/hi/, "hey"));
Why do they use
/
instead of
'
in JavaScript string replace()? E.g.:
document.write(str.replace(/hi/, "hey"));
Share
Improve this question
asked Apr 25, 2009 at 11:01
AlexAlex
44.7k48 gold badges100 silver badges127 bronze badges
2 Answers
Reset to default 10because // denotes a Regex, which is a much more powerful version of string searching/replacing than a simple Replace("x","y")
But also supports simple patterns.
var a = "xxx";
var b = a.replace(/x/,'y');
alert( b ); //alerts "yxx"
adding the g modifier to replace globaly would be:
b = a.replace(/x/g,'y');
alert(b); //alerts "yyy"
You can also add the i modifier to make it case-insensitive.
var a = "XXX";
b = a.replace(/x/gi,'y');
alert(b); // alerts "yyy";
https://developer.mozilla/En/Core_JavaScript_1.5_Guide/Regular_Expressions
The JavaScript method replace()
allows both a plain string and a RegExp object as the search part.
And in your example a regular expression is used (RegExp literal syntax) although a plain string would suffice.