Javascript - 如何替换子字符串?

Jul*_*s A 13 javascript regex

这很简单.我想使用Javascript在客户端使用另一个子字符串替换子字符串.

原始字符串是 'original READ ONLY'

我想,以取代'READ ONLY''READ WRITE'

请问快速回答?可能有一个javascript代码片段......

bob*_*nce 26

String.replace()是基于正则表达式的; 如果传入一个字符串作为第一个参数,则由它生成的正则表达式将不包含'g'(全局)标志.如果要替换搜索字符串的所有出现(通常是您想要的),此选项是必不可少的.

简单的全局字符串替换的替代非正则表达式成语是:

function string_replace(haystack, find, sub) {
    return haystack.split(find).join(sub);
}
Run Code Online (Sandbox Code Playgroud)

find字符串可能包含在regexp中具有不需要的特殊含义的字符时,这是首选.

无论如何,对于问题中的示例,任何一种方法都可以.


Vin*_*vic 12

总结.它是基于regexp的,如果你使用regexp表示法,你可以指定i和g修饰符(不区分大小写(i),它将匹配case和global(g),它将替换所有出现),如果你使用字符串表示法它将转换为正则表达式,您将无法指定任何修饰符.

<script type="text/javascript">

var str1="Visit Microsoft!";
var str2 = str1.replace(/microsoft/i, "W3Schools"); //Will work, per the i modifier 

var str3 = "original READ ONLY";
var str4 = str3.replace("ONLY", "WRITE"); //Will also work

</script>
Run Code Online (Sandbox Code Playgroud)

  • str2 = str2.replace(/ ^访问/,'不要访问'); (8认同)