Почему индекс возвращается всегда ноль?
Вопрос
Может ли кто-нибудь указать мне, почему индекс возвращается всегда ноль в следующем тексте?
Dim Str as string = "<p><img class=floatLeft width="330"src="http://www.com"></p><p>"
Dim Idx as integer = Str.IndexOf("<p>")
Есть ли другой способ получения индекса?
Решение
Поскольку первый появление <p>
находится в начале строки, а струны (вместе со многими другими вещами) индексированы нулю.
Если вы хотите получить индекс прошлой-Обраивание <p>
, вы можете использовать Str.LastIndexOf("<p>")
.
Если вы хотите получить индекс следующий-Обраивание <p>
После первого и предполагая строку всегда начинается с хотя бы одним <p>
, вы можете использовать Str.IndexOf("<p>", "<p>".Length())
Так что начинает поиск после первого возникновения.
Кстати, у вас есть синтаксическая ошибка в вашем Dim Str
Линия, вам нужно избежать двойных кавычек с дополнительными двойными кадинатами:
Dim Str as string = "<p><img class=""floatLeft"" width=""330"" src=""http://www.com""></p><p>"