Do any of the existing JavaScript frameworks have a non-regex replace()
function,
or has this already been posted on the web somewhere as a one-off function?
For example I want to replace "@!#$123=%"
and I don't want to worry about which characters to escape. Most languages seem to have both methods of doing replacements. I would like to see this simple thing added.
i may be misunderstanding your question, but javascript does have a replace()
var string = '@!#$123=%';
var newstring = string.replace('@!#$123=%', 'hi');
edit: (see comments) the 5th edition does seem to have this info in it, although it doesn't show up when i link directly to it. here's the relevant part:
The replace( ) method performs a search-and-replace operation. It takes a regular expression as its first argument and a replacement string as its second argument. It searches the string on which it is called for matches with the specified pattern. If the regular expression has the g flag set, the replace( ) method replaces all matches in the string with the replacement string; otherwise, it replaces only the first match it finds. If the first argument to replace( ) is a string rather than a regular expression, the method searches for that string literally rather than converting it to a regular expression with the RegExp( ) constructor, as search( ) does.
I had exactly the same problem searching for a non-regex javascript string replace() method. My solution was to use a combination of split() and join():
"some text containing regex interpreted characters: $1.00".split("$").join("£");
which gives:
"some text containing regex interpreted characters: £1.00"
compare with replace():
"some text containing regex interpreted characters: $1.00".replace(new RegExp("$"),"£")
which bizarrely gives:
"some text containing regex interpreted characters: $1.00£"
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