删除内部重复空间

时间:2018-11-28 12:36:26

标签: string linq str-replace c#-6.0

我该如何获取一个包含多个内部空格字符的字符串,并以尽可能少的代码(最好是单个LINQ语句)的形式在C#中删除除其中一个空格以外的所有空格?

例如,如果我有这个字符串KW5 8LK,如何转换中间的空格以使输出为KW5 8LK

这里的要求还在于,没有空格是有效输入,保留单个空格,并将双精度空格减少为单个空格。

因此,左侧的以下字符串应输出右侧的字符串:

KW5       8LK -> KW5 8LK
KW5      8LK -> KW5 8LK
KW5     8LK -> KW5 8LK
KW5    8LK -> KW5 8LK
KW5   8LK -> KW5 8LK
KW5  8LK -> KW5 8LK
KW5 8LK -> KW5 8LK
KW58LK -> KW58LK

我目前拥有的最好的是:

public static class StringHelpers
{
    public static string ReplaceAll(this string str, string target, string replacement)
    {
        while (str.IndexOf(target) >= 0)
            str = str.Replace(target, replacement);
        return str;
    }
}

0 个答案:

没有答案