2010-03-06 58 views
1

我有以下情況,的Java API String.indexOf

String a="<em>crawler</em> <em> Yeahhhhh </em></a></h3><table"; 
System.out.println(a.indexOf("</em>")); 

它返回11這是它開創了第一個結果。

有沒有什麼辦法可以檢測到上面寫的代碼的最後一個而不是第一個?

回答

1

lastIndexOf給你的needlehaystack最後一次出現的索引,但要找到所有出現下面的例子也可具有啓發性:

for (int pos = -1; (pos = haystack.indexOf(needle, pos + 1)) != -1;) { 
    System.out.println(pos); 
} 

要查找所有出現落後,您執行以下操作:

for (int pos = haystack.length(); (pos = haystack.lastIndexOf(needle, pos - 1)) != -1;) { 
    System.out.println(pos); 
} 
+0

感謝您的建議... – 2010-03-06 07:42:34