为什么javascript中的replace只替换第一个字符
var str = "aaa,bbb,ccc ";
str = str.replace( ", ", "- ");
alert(str);
--------------
结果是“aaa-bbb,ccc”
我想要“aaa-bbb-ccc”
除了循环有没有简单的办法?
不好意思,由于小弟问题太多,现在就剩10分了
[解决办法]
有另一办法
var a= "aaa,bbb,ccc ";
a=(a.split( ', ')).join( "- ");
alert(a);
[解决办法]
又可以用正则表达式
var a= "aaa,bbb,ccc ";
var b=a.replace(/,/g, '- ');
alert(b);
[解决办法]
楼上两位 都可实现 用正则 不错 简单明了
有时间讲一下正则表达式后面的参数 比如说 g
[解决办法]
有时间讲一下正则表达式后面的参数 比如说 g
==========
1。
支持三个标志 i g m
i, 执行大小写不敏感的匹配
g, 执行全局匹配,寻找所有匹配
m, 多行匹配(可在含有换行符时使用)
2。
为什么javascript中的replace只替换第一个字符
=====
String.replace 实际上执行的是正则表达式搜索,当第一个参数为字符串的时候,直接搜索此字符串,并替换第一个匹配,故。。。