1

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

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

还有其他方法可以获取索引吗?

4

1 回答 1

6

因为第一次出现<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>"
于 2010-09-11T17:49:50.250 回答