我需要为INSTR Oracle函数编写Java等价物。
Oracle中的示例:
select INSTR('vivek Srinivasamoorthy','a',14) from DUAL
输出:15
我怎样才能用Java做到这一点?
答案 0 :(得分:0)
String.indexOf()
是你的朋友。请记住,在Oracle计数从1开始,在Java中为0(零),因此Oracle示例的Java结果为14.对于文档,请参阅Oracle DB server和Java。
在您的具体情况下,您可以使用System.out.println("is on index: " + "vivek Srinivasamoorthy".indexOf("a", 13));
答案 1 :(得分:-2)
getInstring(String input, String substr, int start, int occurence) {
char[] tempstring = input.substring(start).replaceAll(substr, "-").toCharArray();
int occurindex = 0;
int counter = 0;
for (int i = 0; i < tempstring.length; i++) {
if (":-".equals(":" + tempstring[i])) {
occurindex++;
counter = i;
}
if (occurindex == occurence) {
break;
}
}
return counter == 0 ? -1 : counter + start + 1;
}