如何计算字符串中的零数,直到遇到非零vb.net

时间:2011-09-18 14:13:56

标签: vb.net count

实施例

如果用户输入00001,则计数为4

如果用户输入0811,则计数为1

我该怎么做?

2 个答案:

答案 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