Java 子字符串:获取“的索引”;或;字符串出现

Java 子字符串:获取“的索引”;或;字符串出现,java,android,Java,Android,我怎样才能子字符串下面字符串中的第三个数字: String val = "2020202030 or 303030303 or 303033303"; 对于两个数字,解决方案如下: String val = "2020202030 or 303030303 firstNumber = val.substring(0,val.indexOf("or")-1); secondNumber = val.substring(val.indexOf("or") + 3,val.length());

我怎样才能
子字符串
下面
字符串中的第三个数字

String val = "2020202030 or 303030303 or 303033303"; 
对于两个数字,解决方案如下:

String val = "2020202030 or 303030303

firstNumber = val.substring(0,val.indexOf("or")-1);
secondNumber = val.substring(val.indexOf("or") + 3,val.length());
但是,如何获得下面
字符串中第二个“or”的索引

String val = "2020202030 or 303030303 or 303033303";

firstNumber = val.substring(0,val.indexOf("or")-1);
secondNumber = val.substring(val.indexOf("or")-1,<index of second or >?);
thirdNumber= val.substring(<index of second or>?,val.length());
String val=“202020030或303030303或303033303”;
firstNumber=val.substring(0,val.indexOf(“或”)-1);
secondNumber=val.substring(val.indexOf(“或”)-1,?);
thirdNumber=val.substring(?,val.length());
使用拆分:

String[] numbers = val.split(" or ");
数字[2]
将包含第三个数字

如果您喜欢使用
indexOf
获取第二个“or”的索引,请使用
int indexOf(String str,int from index)
变量。

您可以看到以下答案:

然后再详细阐述一下。比如说

int n_occurrences = 0

for (int index = val.indexOf("or");
     index >= 0;
     index = val.indexOf("or", index + 1))
{
    n_occurrences++;
    if (n_occurrences=2) 
       System.out.println(index);
}

埃兰的答案要好得多。使用该选项。:)想解释一下为什么它会回答这个问题吗?上面我使用了java的split函数,它返回数组,所以当我们用“或”拆分上面的字符串时,我们会得到数组格式的上面的字符串,第一个元素是“20202030”,依此类推
String val = "2020202030 or 303030303 or 303033303";

String[] arr = val.split(" or ");

System.out.println(arr[0]); //2020202030

System.out.println(arr[1]); //303030303

System.out.println(arr[2]); //303033303