查找替换功能非常强大,但模板难记复杂。 JavaScript中String对象的match()、replace()这2个方法都要使用正则表达式的模板。当模板内容与字符串不相匹配时,match()返回null,replace()返回原字符串。
模板的用法是关键。flag: "i"(ignore)、"g"(global)、"m"(multiline)的组合i-忽略大小写,g-反复检索,m-多行检索flag中没有g时,返回字符串,有g时返回字符串数组。
如果要替换字符串str=E:\KuGou\Lyric 中的”\"时只能用下面的方法。
var reg = new RegExp(/\\/g);
url = url1.replace(reg, "\\\\");
alert("url替换后的:\\\\" + url);
而不能使用
var reg= new RegExp("\\","g");
url = url1.replace(reg, "\\\\");
如果使用此种方法,运行界面后会提示var reg= new RegExp("\\","g");语法错误。
而如果是替换字符串中的某个字符时上面的方法是可行的。
比如:
var reg= new RegExp("u","g");
url = url1.replace(reg, "hhhh");
这样就能把字符串中所有u的字符替换成hhhh。
如果RegExp("u","g");不加后面的g的话,就只能替换一个u。
虽然一个小问题,让我花费了好久才弄出来,主要是自己的正则表达式的使用不是很熟练。切网上找不到很接近此种替换的方法。希望能对读者有用。