c# - 不带空格的字符串长度 (C#)

标签 c# string spaces

快速的小问题...

我需要计算一个字符串的长度,但不包括其中的空格。 例如。对于像“I am Bob”这样的字符串,string.Length 将返回 8(6 个字母 + 2 个空格)。

我需要一种方法或其他方法来给我字母的长度(或数量)(在“我是鲍勃”的情况下为 6)

我试过以下方法

s.Replace (" ", "");
s.Replace (" ", null);
s.Replace (" ", string.empty);

尝试获取“IamBob”,我这样做了,但这并没有解决我的问题,因为它仍然将“”算作一个字符。

有什么帮助吗?

最佳答案

这将返回非空白字符的数量:

“我是 Bob”.Count(c => !Char.IsWhiteSpace(c));

Demo

Char.IsWhiteSpace :

空白字符是以下 Unicode 字符:

  • SpaceSeparator 类别的成员,其中包括字符 SPACE (U+0020)、OGHAM SPACE MARK (U+1680)、MONGOLIAN VOWEL SEPARATOR (U+180E)、EN QUAD (U+2000)、EM QUAD (U +2001), EN 空间 (U+2002), EM 空间 (U+2003), 每 EM 空间三个 (U+2004), 每个 EM 空间四个 (U+2005), 每个 EM 空间六个(U+2006)、图形空间 (U+2007)、标点空间 (U+2008)、细空间 (U+2009)、头发空间 (U+200A)、狭窄的不间断空间 (U+202F)、中等空间数学空间 (U+205F) 和表意空间 (U+3000)。
  • LineSeparator 类别的成员,该类别仅由 LINE SEPARATOR 字符 (U+2028) 组成。
  • ParagraphSeparator 类别的成员,该类别仅由 PARAGRAPH SEPARATOR 字符 (U+2029) 组成。
  • 字符 CHARACTER TABULATION (U+0009), LINE FEED (U+000A), LINE TABULATION (U+000B), FORM FEED (U+000C), CARRIAGE RETURN (U+000D), NEXT LINE (U+ 0085) 和不间断空格 (U+00A0)。

关于c# - 不带空格的字符串长度 (C#),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16608691/

相关文章:

c++ - 从函数返回字符串

Cocoa 可访问性 API 和空间?

java - 使用 VK_SPACE 的 registerKeyboardAction 不起作用

c# - 如何在c#中替换字符串之间的某些字符?

python - Python 字符串中的内联子字符串交换

c# - Mongo C# 驱动程序 2.0 - 在不获取文档的情况下查找计数

c# - 规范模式实现帮助

vbscript - 在 vbs 中比较两个字符串时,Trim 函数不会删除字符串末尾的空格

c# - "This expression causes side effects and will not be evaluated"。如何压制?

c# - 在新浏览器选项卡中查看 PDF 文档