【问题标题】:How do i remove all white spaces from a string? [duplicate]如何从字符串中删除所有空格? [复制]
【发布时间】:2013-12-11 08:54:45
【问题描述】:

我有这个代码:

if (TextParsingConfiguration.join == true)
                {
                    images = images.Trim(' ');
                }
                if (TextParsingConfiguration.removecommas == true)
                {
                    images = ReplacingChars(images, new[] { ',', '"' }, " ");
                }

join 和 removecommas 是 bool 变量,我也在 checkBoxes 的 form1 中使用它们。 以及 ReplaceingChars 方法:

public static string ReplacingChars(string source, char[] toReplace, string withThis)
        {
            return string.Join(withThis, source.Split(toReplace, StringSplitOptions.None));
        }

也许我的逻辑错了,但我想给用户两个选择。

  1. 删除所有 Remove commas 和 Quotation 标记此 removecommas bool 变量。
  2. 加入意味着删除所有空白但不包括逗号和引号只是删除/删除空白,因此整个文本就像一个文本块。

如果数字 2 是逻辑的问题?如果不是,我可以做哪些其他删除(清理)的选项? 删除逗号正在工作。它删除逗号和引号并保留空格。

【问题讨论】:

    标签: c# winforms


    【解决方案1】:

    试试这个:

       images= images.Replace(" ", String.Empty);
    

    【讨论】:

    • 这个问题涉及空格,而不仅仅是空格。空格还包括\t\r\n - 仅举三例。
    • 您在编辑之前的回答有效。然后这是我的错误,我的意思是像在第一个解决方案中那样删除任何空格。但这也许我可以添加第三个选项来仅删除空格而不是所有空格?
    • 您现在的解决方案和 \S+ 的解决方案之间的差异是什么?
    • @DoronMuzar 我认为这是比使用正则表达式更快的方法。
    • 正则表达式类\s包含所有空格,而不仅仅是空格字符。
    【解决方案2】:

    你可以像这样使用Regex.Replace

    string newString = Regex.Replace(sourceString, @"\s+", replacement);
    

    【讨论】:

    • 这应该是正确的答案。例如:Regex.Replace(images, @"\s+", string.Empty)
    【解决方案3】:

    可能是这样的:

    images = Regex.Replace(images, @"\s+", "");
    

    【讨论】:

    • Regex.Replace(images, @"\s+", string.Empty)
    【解决方案4】:

    您可以像下面这样拆分文本,

     string[] sp = new string[] { " ", "\t", "\r" };
    
                string[] aa = images.Split(sp, StringSplitOptions.RemoveEmptyEntries);
    

    【讨论】:

      猜你喜欢
      • 2017-04-14
      • 2019-04-19
      • 2011-08-24
      • 2023-04-08
      • 2013-09-06
      • 2012-11-19
      • 2019-11-25
      相关资源
      最近更新 更多