从文本框中获取出现的次数

时间:2013-06-10 18:17:43

标签: vb.net-2010

您好我正试图从txtbox中获取一个角色的出现次数。仍然没有找到答案...... 例如: 我给出一句话......“你好!”在列表框中必须有......

H - 2次 e - 3次 ....

这是我的代码......

  For i = 0 To txtSent.Text.Length - 1

        If (Char.IsLetter(txtSent.Text(i))) Then
            Dim str = Len(txtSent.Text) - Len(Replace(txtSen.Text, txtSen.Text(i), ""))

            lstOutput.Items.Add(txtZin.Text(i) & " occurs " & str & " time(s)")
        End If

    Next´

但我需要它是“m - 5”而不是重复“m”的所有字符

你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

看看这篇文章。完全是你所追求的。 http://msdn.microsoft.com/en-us/library/bb397940.aspx

这是vb.net中的一个方法,可以帮助你。

    Public Function GetNumSubstringOccurrences(ByVal text As String, ByVal search As String) As Integer
        Dim num As Integer = 0
        Dim pos As Integer = 0
        If Not String.IsNullOrEmpty(text) AndAlso Not String.IsNullOrEmpty(search) Then
            While text.IndexOf(search.ToLower(), pos) > -1
                num += 1
                pos = text.ToLower().IndexOf(search.ToLower(), pos) + search.Length + 1
            End While
        End If
        Return num
    End Function

要循环播放字母,请执行以下操作

Dim s As String = "ssssddfffccckkkllkeeiol"
        For Each c In "ABCDEFGHIJKLMNOPQRSTUVWXYZ".ToCharArray()
            Console.WriteLine(GetNumSubstringOccurrences(s, c))
        Next