first;snd;3rd;4th;5th;6th;...
Run Code Online (Sandbox Code Playgroud)
如何在;分隔符第三次出现后拆分上面的内容?特别是不需要value.split(";")将整个字符串作为数组,因为我不需要将值分开.只是字符串的第一部分直到第n次出现.
期望的输出将是:
first;snd;3rd.我只需将其作为字符串子字符串,而不是拆分分隔值.
使用Apache 中的StringUtils.ordinalIndexOf()
查找字符串中的第 n 个索引,处理 null。此方法使用 String.indexOf(String)。
参数:
str - 要检查的字符串,可以为 null
searchStr - 要查找的字符串,可以为 null
ordinal - 要查找的第 n 个 searchStr
返回:搜索字符串的第 n 个索引,如果没有匹配或输入空字符串,则返回 -1 (INDEX_NOT_FOUND)
或者这样,不需要库:
public static int ordinalIndexOf(String str, String substr, int n) {
int pos = str.indexOf(substr);
while (--n > 0 && pos != -1)
pos = str.indexOf(substr, pos + 1);
return pos;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
222 次 |
| 最近记录: |