【问题标题】:Trimming with array of string用字符串数组修剪
【发布时间】:2013-05-18 13:44:24
【问题描述】:

我想创建一个简单的程序,我有一个字符串数组,对于每个字符串我想检查它是否包含指定的字符,我想删除它。首先我用空格替换指定的字符,当我试图修剪它不起作用的空间 这是我的代码

char[] arr = new char[] {' '};
for (int i = 0; i < words.Length; i++)
{
    words[i] = words[i].Replace('0', ' ');
    words[i] = words[i].Trim(arr);
}

【问题讨论】:

    标签: c# trim


    【解决方案1】:

    如果你想删除所有空格,而不是words[i] = words[i].Trim(arr);,你可以使用:

    words[i] = words[i].Replace(" ", string.Empty);
    

    就个人而言,我也会为您的第一次删除 (0) 执行此操作:

    words[i] = words[i].Replace("0", string.Empty); // Remove all "0" characters
    words[i] = words[i].Replace(" ", string.Empty); // Remove all spaces
    

    或者,甚至:

    words[i] = words[i].Replace("0", string.Empty).Replace(" ", string.Empty); 
    

    【讨论】:

      【解决方案2】:

      Trim() 仅删除前导和尾随空格。它不会删除字符串中间的空格。不过,真的没有必要做所有这些工作。您可以通过调用appropriate overloadReplace() 进行一次调用:

      for(int i = 0; i < words.Length; i++)
          words[i] = words[i].Replace("0", "");
      

      【讨论】:

      • +1 用于解释修剪的作用以及为什么它不适合这项工作。
      【解决方案3】:

      对于喜欢单线的人:

      words = words.Select(i => i.Replace("0", "").Replace(" ", "")).ToArray();
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-06
        • 2014-12-19
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多