我需要检查包含电子邮件列表的字符串。这些电子邮件通常以逗号分隔,但我需要检查该列表中是否有逗号以外的分隔符。下面是一个例子:在C中的字符串中拆分子串#
[email protected],[email protected],[email protected]#[email protected]
我需要识别不同的字符并替换为逗号。
我不能只用正则表达式来识别除逗号以外的特殊字符,并替换它们,因为电子邮件可能有一些这些字符。所以我需要找到两封电子邮件之间的东西。 我做了如下正则表达式来一封电子邮件,我相信它会覆盖大部分的电子邮件:
^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-z0-9]+(\.[a-z0-9]+)+$
但我对如何用它来解决我的问题有点失落,使用C# 。我需要捕获这个正则表达式的两个匹配之间的东西,并替换为逗号。
任何人都可以帮助我吗? 谢谢。
你是什么意思?这是一个随机角色吗?我猜想它不应该在那里。 如果是随机的,请检查所有有效字符,并用逗号替换无效字符。 如果不是:'emails.Replace('#',',')':p – joppiesaus 2014-11-03 15:22:16
为什么不仅匹配有效的电子邮件地址并过滤掉其余的邮件地址。 – 2014-11-03 15:22:45
如果分隔符可能是电子邮件中名称的任何有效字符,则说明存在严重问题 – dariogriffo 2014-11-03 15:23:11