2015-10-19 55 views
-4

Я пытаюсь разбить строку на части, но не могу понять это!Разделить строку на части

Моя главная точка из строки

"hello bye see you" 

чтения из "bye" to "you"

Я попытался

Dim qnew() As String = tnew.Split(" ") 

Но я застрял на других частях кода, я действительно хотел бы некоторые Помогите. Извините, если я не лучший в объяснении вещей, по крайней мере, я старался изо всех сил:/

+1

"привет прощай видеть Вас" читать "до свидания" на "ты" .. не получил, что ? вы можете уточнить? – DarkKnight

+1

Пожалуйста, поставьте остальную часть кода и попробуйте объяснить вашу проблему/требование agian. –

+0

'String.Split()' не работает на основе From-To. Установите точку останова и удерживайте кнопку мыши над 'qnew', чтобы увидеть результат. Все еще не получить? Ну ладно, * по крайней мере я старался изо всех сил * – Plutonix

ответ

1

Я предполагаю, что ваш ожидаемый результат является .Если я правильно понял, то следующие методы могут быть использованы для получения желаемого выход:

в этой строке расщепляется в массив (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" 
+0

Спасибо! Извините за поздний ответ, после того как я прочитал это, я понял это :) – Hawkeye111

Смежные вопросы