Java String.indexOf API

时间:2010-03-06 06:38:22

标签: java

我有以下情况,

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

它返回11作为结果,这是它找到的第一个。

有没有办法检测上面写的代码的最后一个而不是第一个?

2 个答案:

答案 0 :(得分:5)

答案 1 :(得分: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);
}