这是一个简单的任务。我想在客户端使用JavaScript将一个子字符串替换为另一个子字符串。
原始字符串是 原始只读
。
我想用读取写入
代替只读
。
有什么快速的回答吗?如果可能的话,请提供一个JavaScript代码片段...
这是一个简单的任务。我想在客户端使用JavaScript将一个子字符串替换为另一个子字符串。
原始字符串是 原始只读
。
我想用读取写入
代替只读
。
有什么快速的回答吗?如果可能的话,请提供一个JavaScript代码片段...
String.replace()
是基于正则表达式的;如果您将字符串作为第一个参数传递,则从中制作的正则表达式将不包括“g”(全局)标志。如果您想要替换搜索字符串的所有出现(通常是您想要的),则此选项是必需的。
一个非正则表达式的简单全局字符串替换的替代方法是:
function string_replace(haystack, find, sub) {
return haystack.split(find).join(sub);
}
这是首选的,当find
字符串可能包含在正则表达式中具有不良特殊含义的字符时。
无论哪种方法,对于问题中的例子来说都可以。
好的概述。它基于正则表达式,如果您使用正则表达式记法,您可以指定i和g修饰符(不区分大小写(i),它将匹配所有情况和全局(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>
stringObject.replace(findstring,newstring)
我更喜欢正则表达式的方法。
newstring = oldstring.replace(/要替换的字符串的正则表达式/, 新字符串);
值得考虑的是 g 和 i 正则修饰符,它们可以进行全局替换(即替换所有出现的字符)并且忽略大小写。
例如:
<script type="text/javascript">
var str = "this is a String";
document.write(str.replace(/s/g, "_"));
would print: this_is_a_string
document.write(str.replace(/s/gi, "f"));
would print "thif if a ftring"
</script>