计算字符串beginng处的空格数

时间:2015-05-15 16:00:18

标签: vb.net string whitespace

是否有一种简单的方法可以使用vb.net来计算字符串开头的空格?

例如我的字符串是“这是一个测试”。开头的空格数是3.是否有内置函数以编程方式对它们进行计数?

2 个答案:

答案 0 :(得分:2)

修剪前导空格并比较长度:

num = s.Length - LTrim(s).Length

或者找到第一个非空白字符并检查其索引:

Dim match = System.Text.RegularExpressions.Regex.Match(s, "\S")
If match.Success Then
    num = match.Index
End If

答案 1 :(得分:0)

我发现这在VB.Net中效果很好,并且它的优点是它很短,不会干扰你的方法流程。尽管使用循环来进行计数,但此C# post中提供的时序测试表明循环具有惊人的效率。我的应用程序不保证在VB.Net中对Linq功能的这种使用进行时序测试 - 也许其他人可以这样做,他们可以在这里发表评论吗?致@Henk Holtermann

Dim WhiteSpaceCount As Integer  'The number of white spaces at the start
WhiteSpaceCount  = MyString.TakeWhile(Function(C As Char) Char.IsWhiteSpace(C)).Count