javascript:如何使用regex删除两个特殊字符之间的逗号(,)

javascript: how to remove comma(,) between two special character using regex

本文关键字:特殊字符 两个 之间 何使用 regex 删除 javascript      更新时间:2023-12-31

我知道这是一个非常简单的问题,但我开始学习reg ex,所以请提供解决方案。。

如果@和之间存在逗号,我想删除它。(点)来自用户提供的电子邮件id

输入

abc@gm,ail.com,xyz@nauk,ri.com,srs@y,ahoo.com,efgh@hot,mail.com

所需输出

abc@gmail.com,xyz@naukri.com,srs@yahoo.com,efgh@hotmail.com


我想在这个问题上再加一部分,我不知道是否可能,如果可能的话,请告诉我…

输入

"琼,lee@gma,il.com,mohd,saeed@nau,kri.com,xX,yz@yaho,o.com"

所需输出

joanlee@gmail.com,mohdsaeed@naukri.com,xXyz@yahoo.com"

thnx提前。。

您可以使用:

email = email.replace(/@([^.]+)'./g, function(text, p1) {
    return text.replace(/,+/g, '');
});

其中一个例子:

'abc@gm,ail.com, xyz@nauk,ri.com, srs@y,ahoo.com, efgh@hot,mail.com'.replace(/(@[^'s,]+),([^'s'.].)/g, '$1$2')

二:

'abc@gm,ail.com, xyz@nauk,ri.com, srs@y,ahoo.com, efgh@hot,mail.com'.replace(/,([^'s])/g, '$1')

试试这个:

input = input.replace(/(@.*?),/g, '$1');

这个必须更可靠:

input = input.replace(/,(?! )/g, '');

感谢你们的合作,我成功地实现了我想要的。以下是的解释

var str = ",;ab'c@gm;ail.com,xyz@nauk'ri.com,srs@y;ahoo.co'm,efgh@hot;mail.com;"
str.replace(/,/g,', ').replace(/[';]/g,',').replace(/,(?! )/g,'').replace(/^,|,$/g,'').trim()

步骤1:将所有逗号(,)替换为(逗号+空白)

str.replace(/,/g,', ') 

输出", ;ab'c@gm;ail.com, xyz@nauk'ri.com, srs@y;ahoo.co'm, efgh@hot;mail.com;"


步骤2:用逗号替换所有分号(;)和单引号(')

str.replace(/,/g,', ').replace(/[';]/g,',')

输出", ,ab,c@gm,ail.com, xyz@nauk,ri.com, srs@y,ahoo.co,m, efgh@hot,mail.com,"


第3步:删除所有不以空格为后缀的逗号(带空格的逗号除外)

str.replace(/,/g,', ').replace(/[';]/g,',').replace(/,(?! )/g, '')

输出", abc@gmail.com, xyz@naukri.com, srs@yahoo.com, efgh@hotmail.com"


第4步:从开始和结束处删除逗号。

str.replace(/,/g,', ').replace(/[';]/g,',').replace(/,(?! )/g, '').replace(/^,|,$/g,'')

输出" abc@gmail.com, xyz@naukri.com, srs@yahoo.com, efgh@hotmail.com"


步骤5:从开始和结束中删除空白

str.replace(/,/g,', ').replace(/[';]/g,',').replace(/,(?! )/g, '').replace(/^,|,$/g,'').trim() 

输出abc@gmail.com, xyz@naukri.com, srs@yahoo.com, efgh@hotmail.com

基于您自己的答案:

var s = ",;ab'c@gm;ail.com,xyz@nauk'ri.com,srs@y;ahoo.co'm,efgh@hot;mail.com;";

步骤1-清理:

s = s.replace(/^[ ,;']+|[ ;']+|[ ,;']+$/g, '');
// "abc@gmail.com,xyz@naukri.com,srs@yahoo.com,efgh@hotmail.com"

步骤2-化妆:

s = s.replace(/,/g, ', ');
// "abc@gmail.com, xyz@naukri.com, srs@yahoo.com, efgh@hotmail.com"

如果您有var email = 'bob@gm,ail.com'

用途:

var emailReplace = email.replace(/',/g,'');

emailReplace现在的位置bob@gmail.com

更新:

var emails = 'bob@g,mail.com, bob@ya,ooo.co.uk, bob@hot,mail.ca';
function fixCommas() {
    var fixedEmails = emails.replace(/,(?! )/g, '');
    return fixedEmails;
}
fixCommas(emails);