如何在C#中使用trim()消除更多空格?

时间:2013-12-20 09:22:21

标签: c# string linq whitespace

我需要获得相同的匹配名称记录。因此我使用contains linq表达式。 例如: a.User.DisplayName.Contains(strDisplayName.Trim())

但如果strDisplayname == “Andrew Wodd”,Andrew和Woddd之间会有更多空格,在这种情况下,它会获得结果。

如果名称中有多个空格,我如何获得该结果?

4 个答案:

答案 0 :(得分:4)

使用Regex.Replace并用单个空格替换所有多个空格

var replaced = Regex.Replace(strDisplayName, @"\s+", " ");    
a.User.DisplayName.Contains(replaced);

答案 1 :(得分:2)

您可以使用正则表达式来规范化空格:

Regex.Replace(input, "\s+", " ");

答案 2 :(得分:1)

使用以下内容:

strDisplayName = string.Join( " ", strDisplayName.Split( (char[])null, StringSplitOptions.RemoveEmptyEntries ) );

这将修剪与您已经使用的修剪相同的字符(不仅是空格)

答案 3 :(得分:0)

要删除显示名称中的额外空格,可以使用正则表达式:

a => Regex.Replace(a.User.DisplayName, @"\s\s+", " ").Trim() == Regex.Replace(strDisplayName, @"\s\s+", " ").Trim()

祝你好运。