子字符串:在字符串

时间:2015-12-17 08:09:46

标签: java android

我如何substring下面String中的第三个数字:

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中第二个“或”的索引?

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());

3 个答案:

答案 0 :(得分:7)

使用拆分:

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

numbers[2]将包含第3个号码。

如果您希望使用indexOf获取第二个“或”的索引,请使用int indexOf(String str, int fromIndex)变体。

答案 1 :(得分:1)

您可以看到以下答案:https://stackoverflow.com/a/5034592/2668213

然后详细说明一下。例如

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);
}

答案 2 :(得分:0)

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