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

发布于 2024-08-03 18:12:33 字数 388 浏览 10 评论 0原文

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

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

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

奖励问题: 与这一行相比,哪一个会产生更多的开销(它的作用完全相同):

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

When you use the Trim() method on a string object, you can pass an array of characters to it and it will remove those characters from your string, e.g:

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

This results is "75-12-23" instead of the expected result: "751223", why is this?

Bonus question:
Which one would have more overhead compared to this line (it does exactly the same thing):

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

前事休说 2024-08-10 18:12:33

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

如果您想在各处消除它们,请使用替换...

Cause the trim function only trims characters from the ends of the string.

use Replace if you want to eliminate them everywhere...

铃予 2024-08-10 18:12:33

来自 MSDN:

返回一个新字符串,其中所有
一组指定字符的前导尾随出现
当前的 String 对象被删除。

我想这是不言自明的。

From MSDN:

Returns a new string in which all
leading and trailing occurrences of a set of specified characters from
the current String object are removed.

I guess that's self-explanatory.

回梦 2024-08-10 18:12:33

Trim 仅删除字符串开头和结尾的字符。内部“-”字符不会被删除,就像内部空格一样。您需要 Replace()

Trim only removes characters from the beginning and end of the string. Internal '-' characters will not be removed, any more than internal whitespace would. You want Replace().

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

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

这假定原始字符串具有固定格式。至于性能,除非你要做一百万次这样的事情,否则我不会担心。

Others have answered correctly Trim only trims characters from the start and end of the string. Use:-

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

This assumes a fixed format in the original string. As to performance, unless you are doing a million of these I wouldn't worry about it.

云淡月浅 2024-08-10 18:12:33

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

Trim removes only from start and end. Use Replace if u want to remove from within the string.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文