Alex
Alex

Reputation: 44749

Slashes instead of quotes in JavaScript string replace method

Why do they use

/

instead of

'

in JavaScript string replace()? E.g.:

document.write(str.replace(/hi/, "hey"));

Upvotes: 1

Views: 2302

Answers (2)

Gumbo
Gumbo

Reputation: 655825

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.

Upvotes: 2

Chad Grant
Chad Grant

Reputation: 45422

because // 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.org/En/Core_JavaScript_1.5_Guide/Regular_Expressions

Upvotes: 10

Related Questions