String add_filter = address.split("\\,", 2)[0];
这将删除第一个逗号后的文本。我需要在不使用循环的情况下删除第二个逗号之后的文本。
答案 0 :(得分:4)
address.split("\\,")[2];
将字符串拆分为逗号。第0个索引在第一个逗号之前,第1个在第1个逗号之后,第2个在第2个逗号之后,等等。请注意,此代码假定至少有2个逗号。如果没有,则需要保存split()返回的数组并检查长度以确保其长度为3或更高。否则没有第二个逗号。
答案 1 :(得分:1)
尝试以下代码:
//Finding the Nth occurrence of a substring in a String
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;
}
然后你可以在这个索引位置之后删除字符串,如下面的代码:
String newStr = address.substring(0,ordinalIndexOf(address,",",2)- 1)
答案 2 :(得分:0)
尝试以下代码
String s = "Hello,world,good bye";
s = s.replaceFirst(",(.*?),.*", " $1");
System.out.println(s);