我有一串不同的电子邮件
ex:“email1 @ uy.com,email2 @ ui.it,email3 @ uu.edu”等等
我想制定一个创建以下输出的正则表达式
例如:“email1,email2,email3”等等
如何删除“@”和“,”之间的字符,但在C#中留下“,”和空格
非常感谢你的帮助!!
答案 0 :(得分:0)
答案 1 :(得分:0)
也许您不需要使用正则表达式,在这种情况下,您可以执行以下操作:
string input = "email1@uy.com, email2@iu.it, email3@uu.edu";
input = input.Replace(" ", "");
string[] ocurrences = input.Split(',');
for (int i = 0; i < ocurrences.Length; i++)
{
string s = ocurrences[i];
ocurrences[i] = s.Substring(0, s.IndexOf('@'));
}
string final = string.Join(", ", occurences);
答案 2 :(得分:0)
如果要将@和逗号之间的所有字符替换为空白,最简单的选项是使用Regex.Replace
:
var emails = "a@m.com, b@m.com, d@m.com";
var result = Regex.Replace(emails, "@[^,]+", string.Empty);
// result is "a, b, d"
请注意,它会在您的问题中以逗号后的结果留下空格,尽管您的示例结果已删除了空格。
正则表达式查找所有以'@'字符开头的子字符串,后跟任何不是逗号的字符。这些子串用空字符串替换。