实施例
如果用户输入00001,则计数为4
如果用户输入0811,则计数为1
我该怎么做?
答案 0 :(得分:2)
最有效的方法是简单地遍历字符串中的字符并计算每个0
字符,直到您读取非0
字符为止。
我不太使用VB.NET,所以这只是一些粗略的VBish伪代码
Dim myString As String = "00001"
Dim count As Integer = 0
For Each c As Char In myString
If C = "0"c Then
count += 1
Else
Exit For
End If
Next
答案 1 :(得分:2)
这是一行答案,没有可见的for循环。
Module Module1
Sub Main()
Console.WriteLine(GetLeadingZeros("00001"))
Console.WriteLine(GetLeadingZeros("0889"))
Console.WriteLine(GetLeadingZeros("1"))
Console.WriteLine(GetLeadingZeros("00101"))
Console.WriteLine(GetLeadingZeros("11111"))
Console.WriteLine(GetLeadingZeros("10001"))
Console.ReadLine()
End Sub
Public Function GetLeadingZeros(ByVal input As String) As String
Return input.Substring(0, input.IndexOf(input.SkipWhile(Function(e) e = "0")(0)))
End Function
End Module