为什么javascript中的replace只替换第一个字符

时间:2022-01-02 15:00:13
var str = "aaa,bbb,ccc";
str = str.replace(",","-");
alert(str);
--------------
结果是“aaa-bbb,ccc”
我想要“aaa-bbb-ccc”
除了循环有没有简单的办法?

不好意思,由于小弟问题太多,现在就剩10分了

4 个解决方案

#1


有另一办法
var a="aaa,bbb,ccc";
a=(a.split(',')).join("-");
alert(a);

#2


又可以用正则表达式
var a="aaa,bbb,ccc";
var b=a.replace(/,/g,'-');
alert(b);

#3


楼上两位  都可实现  用正则  不错  简单明了

有时间讲一下正则表达式后面的参数  比如说  g

#4


有时间讲一下正则表达式后面的参数 比如说 g
==========
1。 
支持三个标志 i g m
i, 执行大小写不敏感的匹配
g, 执行全局匹配,寻找所有匹配
m, 多行匹配(可在含有换行符时使用)

2。
为什么javascript中的replace只替换第一个字符
=====
String.replace 实际上执行的是正则表达式搜索,当第一个参数为字符串的时候,直接搜索此字符串,并替换第一个匹配,故。。。

#1


有另一办法
var a="aaa,bbb,ccc";
a=(a.split(',')).join("-");
alert(a);

#2


又可以用正则表达式
var a="aaa,bbb,ccc";
var b=a.replace(/,/g,'-');
alert(b);

#3


楼上两位  都可实现  用正则  不错  简单明了

有时间讲一下正则表达式后面的参数  比如说  g

#4


有时间讲一下正则表达式后面的参数 比如说 g
==========
1。 
支持三个标志 i g m
i, 执行大小写不敏感的匹配
g, 执行全局匹配,寻找所有匹配
m, 多行匹配(可在含有换行符时使用)

2。
为什么javascript中的replace只替换第一个字符
=====
String.replace 实际上执行的是正则表达式搜索,当第一个参数为字符串的时候,直接搜索此字符串,并替换第一个匹配,故。。。