我有一串文字,其中包含所选文字的值。我喜欢在给定的文本div中对此文本执行replace()。
所以我知道我可以用以下方法做到这一点:
myelement.replace(/foo/g, 'bar');
但是我需要用我的字符串来表示:
myelement.replace(/*mystring*/g, 'bar');
所以我试过了:
mystring = '/'+mystring+'/g';
myelement.replace(mystring, 'bar');
哪个不起作用,所以我尝试过(我知道这不起作用):
myelement.replace(/+mystring+/g, 'bar');
那我怎么能这样做呢?
我在jsfiddle为你们编写了一些东西 - > HELP ME PLEASE!
答案 0 :(得分:2)
更改是使用new RegExp(st, "g")
而不是像以前那样创建字符串。 /test/g
只是创建RegExp对象的快捷方式。
答案 1 :(得分:0)
只需替换
即可regSt = '/'+st+'/g';
与
regSt = new RegExp(st,'g');
有关regExp http://www.w3schools.com/jsref/jsref_obj_regexp.asp
的更多信息答案 2 :(得分:0)
eval('myelement.replace(/' + mystring + '/g, "bar");');