2015-05-15 29 views
0

使用vb.net計算字符串開頭的空格是否有簡單的方法?計算字符串初始處的空格數

例如我的字符串是「這是一個測試」。在開始空白的數量是3.是否有一個內置的函數來對它們進行編程計數?

+1

可能重複(http://stackoverflow.com/questions/20411812/count-the-spaces-at-start-of-a-string) –

+0

' input.Length - input.TrimStart('').Length' –

回答

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 
+3

我寧願推薦's.TrimStart'而不是'LTrim' :) –

0

我發現,這個效果很好在VB.Net並且具有如此短的優點,它不會干擾您的方法流程。儘管使用一個循環來進行計數,但是在這個C# post中提供的時序測試表明一個Loop非常有效。我的應用程序不保證在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 
的[計數的空間在一個字符串的開始]