Итак, я пытаюсь сделать приложение Windows Form в Visual Studio с помощью Visual Basic, в котором есть текстовое поле, в которое вы вводите предложение, другое текстовое поле, в которое вы можете ввести слово, которое находится в это предложение, затем кнопку, когда при нажатии на нее позиция (слова) слова, введенного в предложение, выводится на метку. В настоящий момент код подсчитывает вхождения слова, но я хочу его адаптировать, чтобы он учитывал позиции, в которых вместо этого встречается слово (например, «Привет привет привет» «привет», и выводится 1 2 3.Visual Basic подсчитывает позиции подстроки в строке
Текущий код ниже любую помощь будет оценено спасибо.
Public Class Form1
'first attempt not working
Private Sub button1_Click(sender As Object, e As EventArgs) Handles button1.Click
Dim input As String = textBox1.Text
Dim word As String = textBox2.Text
Dim occurrences As Integer = 0
Dim intCursor As Integer = 0
Do Until intCursor >= input.Length
Dim strCheckThisString As String = Mid(LCase(input), intCursor + 1, (Len(input) - intCursor))
Dim intPlaceOfWord As Integer = In-Str(strCheckThisString, word)
If intPlaceOfWord > 0 Then
occurrences += 1
intCursor += (intPlaceOfWord + Len(word) - 1)
Else
intCursor = input.Length
End If
Loop
Positions.text = occurrences
End Sub
End Class
Посмотрите на String.IndexOf, в частности, это перегрузка https://msdn.microsoft.com/en-us/library/7cct0x33(v=vs.110).aspx – tolanj