为什么str.replace()只替换第一个找到的项目?

时间:2014-08-28 11:20:22

标签: javascript replace

text = "1/2/3"
result = text.replace("/", "");

我希望结果是“123”,而不是“12/3” 为什么呢?

5 个答案:

答案 0 :(得分:5)

添加全局选择" g"标记并在第一个参数中使用正则表达式而不是字符串。

result = text.replace(/\//g, "");

答案 1 :(得分:1)

您可以使用正则表达式作为参数来替换全局选择。

"1/2/3".replace(/\//g, "")

答案 2 :(得分:0)

您可以尝试以下Regexp

"1/2/3".replace(/\//g,"");

这会将所有/元素替换为""

答案 3 :(得分:0)

另一种做法:

String.prototype.replaceAll = function(matchStr, replaceStr) {
  return this.replace(new RegExp(matchStr, 'g'), replaceStr);
 };
var str = "1/2/3";
result = str.replaceAll('/', '');

答案 4 :(得分:-1)

a = "1/2/3"
a =a.split("/").join("")