在将名称中的特定字符从其他字符中删除时,保留单个空格或制表符?

时间:2014-04-25 13:40:33

标签: c#

我昨天发布了一个问题:See question here,关于保留某些字符之间的单个空格或制表符,同时将其从其他字符中删除。

为了避免混淆和扩展讨论,我正在重新发布问题的修改版本。

我需要一个C#解决方案来清理一些名称,删除任何空格或标签,前导或尾随以及特定字符或特定字母之间。如果单词的最后一个字母和第一个字母具有相同的大小写,则删除该空格。否则留一个空间。

以下是示例:

之前:Bo b Marley

之后:Bob Marley

或者

之前:B ob Mar ley

之后:Bob Marley

问题是,如果有Brian de PalmaOscar de la Hoya这样的名字会怎样?

我需要一种方法来处理dela或制作例外。

到目前为止:

public static string RemoveMultiSpace(string input)
{
    return Regex.Replace(input, @"(?<=[a-zA-Z])\s+(?=[a-z])|\s(?=\s)", "");
}


static void Main(string[] args)
{
    Console.Write(RemoveMultiSpace("Brian   de    Palma"));
    Console.ReadKey();
}

输出:Briande Palma代替Brian de Palma

0 个答案:

没有答案