我有一个长度未知的字符串,如下所示
a、b、c:整数; d,e:实数;
如何在逗号处分割它而不获取变量最后一个逗号后面的单词和字符?或者有没有办法在数组中从冒号处分割变量后,在逗号处分割变量?我最接近的是使用这种方法
// the variablesArray would contain a ,b, c in the first index
// and d,e in the second index.
public static String[] variables(String[]variablesArray) {
String variables[] = new String[variablesArray.length];
for(int i = 0; i < variablesArray.length; i++){
String temporary = variablesArray[i];
String arr[] = temporary.split(",");
}
return variables;
}
当我运行它时,它只返回数组索引中的第一个字符
//打印[a d]
最佳答案
您需要解决问题:
- 在
;
处拆分字符串。 - 对于您得到的每个单词:
- 在
处分割字符串:
- 将第一部分(变量名称列表)插入数组中。
- 丢弃第二部分(类型信息)。
- 在
请注意,这将为您提供数组 {"a ,b, c", "d,e"}
正如我从您的问题中了解到您想要的那样。如果您想进一步拆分,则需要再次拆分每个字符串,这次是在 ,
处。请注意,在这种情况下,您需要将数组类型从 String[]
更改为 String[][]
。您将得到{{"a", "b", "c"}, {"d", "e"}}
。
如果您还想在拆分过程中去除空格,请在拆分字符前后添加 \s*
。例如: "a, b,c , d".split("\\s*,\\s*")
返回 {"a", "b", "c",“d”}
。
关于java - java中以逗号分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26049168/