gpt4 book ai didi

c# - 有没有更好的方法来去除字符串中的空格和其他字符?

转载 作者:行者123 更新时间:2023-11-30 13:48:42 24 4
gpt4 key购买 nike

例如,如果我想从字符串中删除空格 尾随逗号,我可以这样做:

String x = "abc,\n";
x.Trim().Trim(new char[] { ',' });

正确输出abc。我可以很容易地将它包装在一个扩展方法中,但我想知道是否有一种内置的方法可以通过一次调用 Trim() 来做到这一点,我错过了。我习惯了 Python,在这里我可以做到这一点:

import string
x = "abc,\n"

x.strip(string.whitespace + ",")

The documentation指出所有 Unicode whitespace characters ,除了少数异常(exception),都被删除了(请参阅调用者注意事项部分),但我想知道是否有一种方法可以在不在扩展方法中手动定义字符数组的情况下执行此操作。

是否有内置方法可以做到这一点?我要删除的非空白字符的数量可能会有所不同,不一定包括逗号,我想删除所有空白,而不仅仅是 \n

最佳答案

是的,你可以这样做:

x.Trim(new char[] { '\n', '\t', ' ', ',' });

因为换行符在技术上是一个字符,您可以将它添加到数组中并避免两次调用 Trim

编辑

.NET 4.0 使用 this method确定字符是否被视为空格。早期版本维护一个内部空白字符列表 ( Source )。

如果您真的只想使用一个 Trim 调用,那么您的应用程序可以执行以下操作:

  1. 启动时,扫描 the range of Unicode whitespace characters ,对每个字符调用 Char.IsWhiteSpace
  2. 如果方法调用返回 true,则将字符压入数组。
  3. 也将您的自定义字符添加到数组中

现在您可以通过传递您构造的数组来使用单个 Trim 调用。

我猜 Char.IsWhiteSpace 取决于当前的语言环境,因此您必须特别注意语言环境。

关于c# - 有没有更好的方法来去除字符串中的空格和其他字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11749842/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com