代码之家  ›  专栏  ›  技术社区  ›  Mr. Smith

使用C字符数组修剪字符串#

  •  1
  • Mr. Smith  · 技术社区  · 15 年前

    当你使用 三() 方法,可以通过 字符数组 它将从字符串中删除这些字符,例如:

    string strDOB = "1975-12-23     ";
    MessageBox.Show(strDOB.Substring(2).Trim("- ".ToCharArray()));
    

    这个结果是“75-12-23”,而不是预期的结果:“751223”,这是为什么?

    红利问题 : 与这条线路相比,哪条线路的开销更大(它的作用完全相同):

    strDOB.Substring(2).Trim().Replace("-", "");
    
    5 回复  |  直到 15 年前
        1
  •  8
  •   Charles Bretana    15 年前

    因为trim函数只从字符串的末尾修剪字符。

    如果您想在任何地方消除它们,请使用replace…

        2
  •  1
  •   Eric Smith    15 年前

    来自MSDN:

    返回一个新字符串,其中 主要的 拖尾 从中出现一组指定字符 当前字符串对象将被删除。

    我想这是不言而喻的。

        3
  •  0
  •   David Seiler    15 年前

    Trim 只删除字符串开头和结尾的字符。内部的“-”字符将不会被删除,这比内部的空白字符要多。你想要 Replace() .

        4
  •  0
  •   AnthonyWJones    15 年前

    其他人回答正确,只从字符串的开头和结尾修剪字符。用途:

    Console.WriteLine( strDOB.Substring(2, 8).Replace("-","") )
    

    这假定原始字符串中的格式是固定的。至于表演,除非你做了一百万个,否则我不会担心的。

        5
  •  0
  •   pawan jain    15 年前

    修剪只从起点和终点删除。如果要从字符串中删除,请使用replace。