Я предполагаю, что ваш ожидаемый результат является .Если я правильно понял, то следующие методы могут быть использованы для получения желаемого выход:
в этой строке расщепляется в массив (splits()
) с разделителем " "
и найти индекс bye
(j
) и you
(k
) в массиве затем с помощью for loop
, чтобы получить строки в массиве между bye
и you
.
Function GETSTRINGBETWEEN(ByVal start As String, ByVal parent As String, ByVal [end] As String)
Dim output As String = ""
Dim splits() As String = parent.Split(" ")
Dim i As Integer
Dim j As Integer = Array.IndexOf(splits, start)
Dim k As Integer = Array.IndexOf(splits, [end])
For i = j To k
If output = String.Empty Then
output = splits(i)
Else
output = output & " " & splits(i)
End If
Next
Return output
End Function
Использование:
Dim val As String
val = GETSTRINGBETWEEN("bye", "hello bye see you", "you")
'val="bye see you"
Function GET_STRING_BETWEEN(ByVal start As String, ByVal parent As String, ByVal [end] As String)
Dim output As String
output = parent.Substring(parent.IndexOf(start) _
, (parent.IndexOf([end]) _
- parent.IndexOf(start)) _
).Replace(start, "").Replace([end], "")
output = start & output & [end]
Return output
End Function
Использование:
Dim val As String
val = GET_STRING_BETWEEN("bye", "hello bye see you", "you")
'val="bye see you"
"привет прощай видеть Вас" читать "до свидания" на "ты" .. не получил, что ? вы можете уточнить? – DarkKnight
Пожалуйста, поставьте остальную часть кода и попробуйте объяснить вашу проблему/требование agian. –
'String.Split()' не работает на основе From-To. Установите точку останова и удерживайте кнопку мыши над 'qnew', чтобы увидеть результат. Все еще не получить? Ну ладно, * по крайней мере я старался изо всех сил * – Plutonix