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

时间:2009-09-01 15:07:24

标签: c# string character-arrays

在字符串对象上使用 Trim()方法时,可以将字符数组传递给它,它将从字符串中删除这些字符,例如:

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

结果为“75-12-23”而非预期结果:“751223”,为什么会这样?

加分问题: 与此行相比,哪一个会有更多的开销(它完全相同):

strDOB.Substring(2).Trim().Replace("-", "");

5 个答案:

答案 0 :(得分:8)

因为修剪功能仅修剪字符串末尾的字符。

如果你想在任何地方消除它们,请使用替换......

答案 1 :(得分:1)

来自MSDN:

  

返回一个全新的字符串   从前导尾随出现一组指定字符   删除当前的String对象。

我猜这是不言自明的。

答案 2 :(得分:0)

Trim仅从字符串的开头和结尾删除字符。内部' - '字符不会被删除,只不过是内部空格。你想要Replace()

答案 3 :(得分:0)

其他人已正确回答修剪只修剪字符串开头和结尾的字符。使用: -

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

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

答案 4 :(得分:0)

修剪仅从开始和结束中删除。如果你想从字符串中删除,请使用替换。