Do i have to escape slashes when putting them into regular expression?
myString = '/courses/test/user'; myString.replace(/\/courses\/([^\/]*)\/.*/, "$1"); document.write(myString);
Instead of printing "test", it prints the whole source string.
See this demo:
http://jsbin.com/esaro3/2/edit
Your regex is perfect, and yes, you must escape slashes since JavaScript uses the slashes to indicate regexes.
However, the problem is that JavaScript's replace
method does not perform an in-place replace. That is, it does not actually change the string -- it just gives you the result of the replace.
Try this:
myString = '/courses/test/user'; myString = myString.replace(/\/courses\/([^\/]*)\/.*/, "$1"); document.write(myString);
This sets myString
to the replaced value.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With