C# 如何删除不需要的空格和新行字符

C# 如何删除不需要的空格和新行字符,c#,model-view-controller,C#,Model View Controller,我有一个用于输入多个电子邮件地址的文本区域。我像下图一样发送邮件id。我收到了从文本区域到字符串的值,我得到了类似于“a@a.com\r\n\r\n\na@ac.om\r\n\r\n\nb@b.com\r\nk@k.com" 我需要将这些数据作为逗号分隔的电子邮件ID保存到表中。 例:a@a.com,,a@a.com,b@b.com ,k@k.com 我明白了 如何从字符串中删除不需要的换行符和空格。您可以用逗号分隔电子邮件列表,电子邮件列表由LINQ生成 var emails = @"a@a.

我有一个用于输入多个电子邮件地址的文本区域。我像下图一样发送邮件id。我收到了从文本区域到字符串的值,我得到了类似于“a@a.com\r\n\r\n\na@ac.om\r\n\r\n\nb@b.com\r\nk@k.com"

我需要将这些数据作为逗号分隔的电子邮件ID保存到表中。 例:a@a.com,,a@a.com,b@b.com ,k@k.com

我明白了 如何从字符串中删除不需要的换行符和空格。

您可以用逗号分隔电子邮件列表,电子邮件列表由LINQ生成

var emails = @"a@a.com\r\n\r\na@ac.om\r\n\r\nb@b.com\r\n k@k.com";

var result = string.Join(",", emails
    .Split(new char[] { '\r', '\n' }, StringSplitOptions.None)
    .Where(x => !string.IsNullOrEmpty(x))
    .Select(x => x.Trim()));
结果输出:

a@a.com,a@ac.om,b@b.com,k@k.com

您可以使用将由逗号分隔的电子邮件列表连接在一起,电子邮件列表由LINQ生成

var emails = @"a@a.com\r\n\r\na@ac.om\r\n\r\nb@b.com\r\n k@k.com";

var result = string.Join(",", emails
    .Split(new char[] { '\r', '\n' }, StringSplitOptions.None)
    .Where(x => !string.IsNullOrEmpty(x))
    .Select(x => x.Trim()));
结果输出:

a@a.com,a@ac.om,b@b.com,k@k.com


尝试
Split
Join
并添加一点Linq:


尝试
Split
Join
并添加一点Linq:


Split()
首先,然后
Trim()
,指定要修剪空格、换行符和回车符?
Split()
首先,然后
Trim()
,指定要修剪空格、换行符和回车符?反例:如果电子邮件包含空格(-.*space*和“(),:;@[]允许使用带有限制的字符,例如“
”我的address@myMail.com“
地址将被错误地分成两部分。@DmitryBychenko另一个很好的观点。写了一个新的来修复它,惊慌失措地删除了它,然后回滚到那个时候,你们的已经好了+1从我这里;-)无需惊慌,只需例行测试:)最后一个提示:
char
s通常比
string
s:
.Split(新字符[]{'\r','\n'},…
谢谢,我没有想到。下次会记住它。反例:如果电子邮件包含空格(-.*space*和“(),:;@[]允许使用带有限制的字符,例如“
”我的address@myMail.com“
该地址将被错误地拆分为两个。@DmitryBychenko还有一个优点。写了一个新的地址来修复它,惊慌失措地删除了它,然后回滚,到那时,您的地址无论如何都会更好。@DmitryBychenko;-)无需惊慌,只需例行测试:)最后一个提示:
char
s通常比
string
s:
.Split(新字符[]{'\r','\n'},…
谢谢,我没有想到。下次会记住它。