当前位置: 代码迷 >> ASP.NET >> 为啥javascript中的replace只替换第一个字符
  详细解决方案

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

热度:8661   发布时间:2013-02-25 00:00:00.0
为什么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 实际上执行的是正则表达式搜索,当第一个参数为字符串的时候,直接搜索此字符串,并替换第一个匹配,故。。。
  相关解决方案