【问题标题】:Replacing specific number of whitespace characters in strings替换字符串中特定数量的空白字符
【发布时间】:2012-12-15 05:36:30
【问题描述】:

我有这样的字符串,

"ad hominem  ",
"ad lib  ",
"ad lib  ",
"adamantine  ",
"adamite     ",
"adder   ",
"Addisonian  ",
"addlepated  ",
"adduce  ",

所以基本上我想做的是在有多个空格字符的情况下(意思是不是两个词),摆脱它,所以欲望看起来像这样

"ad hominem",
"ad lib",
"ad lib",
"adamantine",
"adamite",
"adder",
"Addisonian",
"addlepated",
"adduce",

这是我尝试过的:

sb = (Regex.Replace(sb,"  ", ""));
sb = (Regex.Replace(sb,"  ", ""));
sb = (Regex.Replace(sb, "   ", ""));
sb = (Regex.Replace(sb, "   ", ""));
sb = (Regex.Replace(sb, "   ", ""));
sb = (Regex.Replace(sb, "   ", ""));
sb = (Regex.Replace(sb, "      ", ""));
sb = (Regex.Replace(sb, "       ", ""));
sb = (Regex.Replace(sb, "        ", ""));
sb = (Regex.Replace(sb, "         ", ""));
sb = (Regex.Replace(sb, "          ", ""));
sb = (Regex.Replace(sb, "           ", ""));

*edit Trim() 不起作用,因为空格不在末尾或开头。

【问题讨论】:

标签: c# .net


【解决方案1】:

如果所有文字都如实写,那么您可以使用TrimEnd(' ')

【讨论】:

    【解决方案2】:

    如果你真的想使用正则表达式,你可以做一个

    sb = Regex.Replace(sb, @"\s{2,}", " ");
    

    用一个空格替换字符串中任何位置的所有连续空格。跟随 .Trim() 删除开头或结尾的空格。

    【讨论】:

      【解决方案3】:

      String.Trim() 将在字符串的开头或结尾返回没有多余空格的值。

      更多详情请查看here

      【讨论】:

        【解决方案4】:

        您可以使用 Trim() 函数。它会修剪空格

        【讨论】:

          【解决方案5】:

          只需使用sb.trim();,这将删除两端的空格。

          【讨论】:

          • .NET 使用 Pascal Case 命名约定,因此 Trim().
          【解决方案6】:

          使用 Trim() 方法删除所有前导和尾随空格。

          【讨论】:

            猜你喜欢
            • 2012-08-09
            • 2017-11-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多