2010-09-11 3 views
1

Est-ce que quelqu'un pourrait me dire pourquoi l'IndexOf retourne toujours zéro dans le texte suivant?Pourquoi IndexOf renvoie toujours Zero?

Dim Str as string = "<p><img class=floatLeft width="330"src="http://www.com"></p><p>" 
Dim Idx as integer = Str.IndexOf("<p>") 

Existe-t-il un autre moyen d'obtenir l'index?

Répondre

6

Parce que le première apparition de <p> est au début de la chaîne, et les chaînes (avec beaucoup d'autres choses) sont indexées par zéro.

Si vous souhaitez obtenir l'index du dernier -occurring <p>, vous pouvez utiliser Str.LastIndexOf("<p>").

Si vous voulez obtenir l'index de la prochaine -occurring <p> après la première, et en supposant que la chaîne commence toujours avec au moins un <p>, vous pouvez utiliser Str.IndexOf("<p>", "<p>".Length()) il commence la recherche à partir après la première occurrence .


Par ailleurs, vous avez une erreur de syntaxe dans votre ligne Dim Str, vous devez échapper des guillemets doubles avec des guillemets doubles supplémentaires:

Dim Str as string = "<p><img class=""floatLeft"" width=""330"" src=""http://www.com""></p><p>" 
Questions connexes