快速的小问题...
我需要计算一个字符串的长度,但不包括其中的空格。
例如。对于像“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));
空白字符是以下 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/