Javascript 为什么str.replace()只替换第一个找到的项?
我预计结果是123,但实际上是12/3Javascript 为什么str.replace()只替换第一个找到的项?,javascript,replace,Javascript,Replace,我预计结果是123,但实际上是12/3 为什么?添加全局选择g标志,并在第一个参数中使用正则表达式而不是字符串 text = "1/2/3" result = text.replace("/", ""); 可以使用正则表达式作为参数来替换为全局选择 result = text.replace(/\//g, ""); 您可以尝试下面的Regexp a = "1/2/3" a =a.split("/").join("") 这将用另一种方法替换所有/元素。: "1/2/3".replace(/\
为什么?添加全局选择g标志,并在第一个参数中使用正则表达式而不是字符串
text = "1/2/3"
result = text.replace("/", "");
可以使用正则表达式作为参数来替换为全局选择
result = text.replace(/\//g, "");
您可以尝试下面的Regexp
a = "1/2/3"
a =a.split("/").join("")
这将用另一种方法替换所有/元素。:
"1/2/3".replace(/\//g,"");
这是一个很好的答案:@Kamafeather Thx可能是重复的,只是看看它,这正是我需要投票来结束我自己的问题的地方,因为它确实是重复的+1,以避免使用正则表达式并提高效率perf@Kaiido:为了提高性能,你为什么这么认为?它分配了一个额外的数组。@zerkms从这个答案@AdrianoRepetti Yep true,即将指向答案中的那个。Thanks@AdrianoRepettiregex参数是什么意思?@zerkms措辞拙劣,但第一个参数模式是regex。与Ahmad、Vishwanath和Felipe的答案相比,这有什么不同/更好?
"1/2/3".replace(/\//g,"");
String.prototype.replaceAll = function(matchStr, replaceStr) {
return this.replace(new RegExp(matchStr, 'g'), replaceStr);
};
var str = "1/2/3";
result = str.replaceAll('/', '');