Java INSTR函数的Java等价物

时间:2016-03-21 09:59:11

标签: java

我需要为INSTR Oracle函数编写Java等价物。

Oracle中的示例:

select INSTR('vivek Srinivasamoorthy','a',14) from DUAL

输出:15

我怎样才能用Java做到这一点?

2 个答案:

答案 0 :(得分:0)

String.indexOf()是你的朋友。请记住,在Oracle计数从1开始,在Java中为0(零),因此Oracle示例的Java结果为14.对于文档,请参阅Oracle DB serverJava

在您的具体情况下,您可以使用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;
    }