答案应该很简单。但我是正则表达式的新手。
我想做的只是找到并替换:
例如:iti $%#sa12c@#ombina#$tion.43of // .45simp5./l7e5andsp75e$%cial23$#of%charecters
在上面的句子中,将“of”改为“in”
我尝试了这个,但没有得到结果,请帮帮我。
string="iti$%#sa12c@#ombina#$tion.43of//.45simp5./l7e5andsp75e$%cial23$#of%charecters";
var string2=string.replace("/(\w*\W*)of(\w*\W*)/g","$1in$2");
console.warn(string2);
答案 0 :(得分:4)
修正regex literal(无引号)并使用字词边界(\b
,无需使用$1
和$2
):
var string2 = string.replace(/\bof\b/g, "in");
答案 1 :(得分:2)
为什么不是一个简单的var replaced = yourString.replace(/of/g, 'in');
?
答案 2 :(得分:1)
在不使用正则表达式的情况下全局替换。
function replaceMulti(myword, word, replacement) {
return myword.split(word).join(replacement);
}
var inputString = 'iti$%#sa12c@#ombina#$tion.43of//.45simp5./l7e5andsp75e$%cial23$#of%charecters';
var outputString = replaceMulti(inputString, 'of', 'in');
答案 3 :(得分:0)
正则表达式是JavaScript中的文字或对象,而不是字符串。
所以:
/(\w*\W*)of(\w*\W*)/g
或:
new Regexp("(\\w*\\W*)of(\\w*\\W*)","g");
答案 4 :(得分:0)
喜欢这个吗?
str.replace("of","in");