是否有一种简单的方法可以使用vb.net来计算字符串开头的空格?
例如我的字符串是“这是一个测试”。开头的空格数是3.是否有内置函数以编程方式对它们进行计数?
答案 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