删除逗号分隔的字符串并在javascript正则表达式中替换它

时间:2013-09-21 12:18:10

标签: javascript regex prototypejs

我的字符串为str = "aa@gmail.com,pp@gmailcom,cc@gmail.com," 我正在用下面的引号替换字符串

var re = new RegExp("cc@gmail.com", "g");
$('reminder_email').value= str.replace(re," ");

我可以替换正则表达式中匹配的电子邮件ID ..但逗号仍然存在。所以结果就像

  

“AA @ gmail.com,第@ gmailcom ,,”

但是我需要用逗号替换电子邮件ID(在每个之后都有)。如何做到这一点..

2 个答案:

答案 0 :(得分:0)

试试这个

demo

str = "aa@gmail.com,pp@gmailcom,cc@gmail.com,"
var re = new RegExp("cc@gmail.com,", "g");
a= str.replace(re," ");

答案 1 :(得分:0)

问题是你不知道你是否会留下悬空的前导,悬空尾随或加倍的逗号,这取决于被移除的目标分别是第一个,最后一个还是中间。

简单的方法是在第一次替换后清理错位的逗号:

str.replace(re," ").replace(/,,+/, ",").replace(/^,|,$/, "");