如何计算 C# 中字符串开头的空格数量?
example:
" this is a string"
结果是 4。不知道如何正确执行此操作。
Thanks.
Use Enumerable.TakeWhile
, Char.IsWhiteSpace
and Enumerable.Count
int count = str.TakeWhile(Char.IsWhiteSpace).Count();
请注意,不仅" "
是一个空白but http://msdn.microsoft.com/en-us/library/t809ektx%28v=vs.110%29.aspx:
空白字符是以下 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 空间 3 个 (U+2004)、每 EM 空间 4 个 (U+2005)、每 EM 空间 6 个 (U+) 2006)、图形空间 (U+2007)、标点符号空间 (U+2008)、细化空间 (U+2009)、头发空间 (U+200A)、窄不间断空间 (U+202F)、中等数学空间 ( U+205F) 和表意空间 (U+3000)。
- LineSeparator 类别的成员,仅包含行分隔符字符 (U+2028)。
- ParagraphSeparator 类别的成员,仅包含段落分隔符字符 (U+2029)。字符字符制表 (U+0009)、换行 (U+000A)、行制表 (U+000B)、换页 (U+000C)、回车 (U+000D)、下一行 (U+0085)、和不间断空格 (U+00A0)。
....所以基本上是空格、换行符和制表符
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)