c# – 是否可以为string.Trim()添加字符(而不是替换默认值)?

前端之家收集整理的这篇文章主要介绍了c# – 是否可以为string.Trim()添加字符(而不是替换默认值)?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想修改默认的空格字符和我的附加字符.我按照以下方式做到了这一点:
  1. string MyTrim(string source)
  2. {
  3. char[] badChars = { '!','?','#' };
  4. var result = source.Trim().Trim(badChars);
  5. return result == source
  6. ? result
  7. : MyTrim(result);
  8. }

至于我,它看起来很愚蠢,因为它有比你需要的迭代更多的迭代.是否可以为string.Trim()添加字符(而不是替换默认值)?或者我在哪里可以找到默认情况下在string.Trim()中使用的’默认空白字符’数组?这听起来很容易,但我找不到.

解决方法

无法更改Trim的默认行为.

但是,如果必须,您可以创建一个包含要修剪的所有字符的数组,这样您就可以将调用减少到只有一个调用,但是它会是这样的:

  1. var badChars =
  2. (from codepoint in Enumerable.Range(0,65536)
  3. let ch = (char)codepoint
  4. where char.IsWhiteSpace(ch)
  5. || ch == '!' || ch == '?' || ch == '#'
  6. select ch).ToArray();

这将给你一个Trim的调用

  1. var result = source.Trim(badChars);

理想情况下,您可以将badChars存储在某处,这样您就不必一直构建它.

现在,这会比两个电话更快吗?我不知道,但如有必要我会测量它.

猜你在找的C#相关文章