2010-09-11 243 views
1

有人能指出为什么IndexOf在下面的文本中总是返回零吗?为什么IndexOf总是返回零?

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

是否有任何其他方式获取索引?

回答

6

因为第一个<p>的出现位于字符串的开头,并且字符串(以及许多其他事物)都是零索引的。

如果你想得到的最后的索引,可以使用Str.LastIndexOf("<p>")

如果你想获得的下一个后的第一个-occurring <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>"