Альтернатива строкового диапазона в vb.net - PullRequest
0 голосов
/ 23 марта 2012

Есть ли какая-либо функция, похожая на диапазон строк в vb.net 2.0 ??

Что я пытаюсь достичь, это извлечь некоторый текст из строки с неизвестной длиной.

напр.

given string = text text text mytext1 text text text text mytext2 text text text text
expected string = mytext1 text text text text mytext2

Итак, у меня есть индексы для "mytext1" и "mytext2".Я ищу способ получить текст, заключенный между этими двумя строками или индексами.

Спасибо

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Ну, что не так с String.Substring?Он работает с индексами, поэтому, если вы хотите найти текст, разделенный двумя словами, сначала вам нужно найти соответствующие индексы, используя String.IndexOf.

Dim from = given.IndexOf("mytext1")
Dim [to] = given.IndexOf("mytext2")
Dim result = given.Substring(from, [to] - from + "mytext2".Length)

(обратите внимание, что Toэто зарезервированное слово, поэтому мне нужно поместить идентификатор в квадратные скобки ... или использовать другой идентификатор.; -))

0 голосов
/ 23 марта 2012

Предполагая, что ваш индекс конца находится в конце "myText2", вы можете сделать это ...

Dim strExpectedString = Mid(strGivenString, intStartIndex, (intEndIndex - intStartIndex))

В противном случае просто добавьте длину «myText2» в intEndIndex.

...