VB程序,用于计算特定单词在句子中出现的次数

时间:2016-09-28 12:41:30

标签: vb.net visual-studio-2010

我最近开始使用Visual Basic,所以我对它不是很熟悉。我是计算新手所以请耐心等待!我正在尝试制作一个表单程序来计算句子中的特定单词。从我的代码中可以看出,我还没有达到目标。我所要做的就是告诉我两个文本框是否匹配。如果有人能帮我解决问题,我将非常感激!非常感谢。

代码:

Public Class Form1
    Dim Counter As Integer = 0

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        If Word.Text = Sentence.Text Then
            Counter1.Text = Counter + 1
        End If
    End Sub

End Class

2 个答案:

答案 0 :(得分:0)

VB.NET和C#使用相同的底层对象模型,因此您可以调整exising C# solution

以下是您的子视图的外观:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    If Word.Text.Length = 0 Then
        counter = 0
    Else
        counter = ( Sentence.Text.Length - Sentence.Text.Replace(Word.Text,"").Length ) / Word.Text.Length
    End If
    Counter1.Text = counter
End Sub

此方法一次性计算所有发生次数,没有循环,因此您不需要增量器。

正如@ romulus001所提到的,Word.Text的长度可能为零,所以应该在除以它之前检查。如果Word.Text的长度为零,那么您想要的计数可能为零,因为您实际上什么也没找。

答案 1 :(得分:0)

我不知道它是否必须区分大小写,但您可以使用以下代码之一:

1)

Counter = Sentence.Text.split(Word.Text).Length - 1 'if the search is case sensitive

2)

Counter = Sentence.Text.toUpper.split(Word.Text.toUpper).Length - 1 'if the search is NOT case sensitive`

然后:

Counter1.Text = Counter