这是我的例子:
输入:
String str="hello,there,(what,is,new),today,(with,you)"
期望的输出:
hello
there
(what,is,new)
today
(with,you)
答案 0 :(得分:1)
我认为最简单的方法是在for循环中使用字符串char,并用逗号替换逗号,除非你在括号内(你需要保留它们的数量)
答案 1 :(得分:0)
现在可行了
String str="hello,there,(what,is,new),today,(with,you)";
int inside = 0;
int index = 0;
for (int i = 0; i < str.length(); i++){
if (str.charAt(i) == ')'){
inside--;
}else if (str.charAt(i) == '('){
inside++;
}else if (str.charAt(i) == ',' && inside == 0){
System.out.println(str.substring(index, i));
index = i+1;
}
}if (index != str.length()){
System.out.println(str.substring(index, str.length()));
}
答案 2 :(得分:0)
ArrayList<String> myList = new ArrayList<String>();
int index1=-1;
int index2=0;
for(int i=0;i< str.length;i++)
{
if(str.charAt(i) == ',')
{
index2=i;
myList.add(str.substring(index1+1 ,index2-1));
index1=index2;
}
}
答案 3 :(得分:0)
String str="hello,there,(what,is,new),today,(with,you)";
ArrayList<String> myList = new ArrayList<String>();
int index1=-1;
int index2=0;
for(int i=0;i< str.length();i++)
{
if(str.charAt(i) != '(' ){
if(str.charAt(i) == ',' )
{
index2=i;
myList.add(str.substring(index1+1 ,index2));
index1=index2;
}
}
else
while(str.charAt(i)!=')')
i++;
}
for(int i=0;i<myList.size();i++) System.out.println(myList.get(i));