String string = "3 5 3 -4 2 3 ";
我想在这里使用split()
,但我需要一个分隔符-4
。我不知道哪些数字是负数,我需要使用split来将正数分组到单独的数组中。
有可能吗?
编辑:
我想用:
String[] parts = string.split(????);
并收到
parts[0] = "3 5 3"
parts[1] = "2 3"
答案 0 :(得分:7)
根据我在评论中提到的内容,您可以使用-\\d+
进行拆分。
它找到-
后跟任意位数的所有位置。如果我们想要
Java代码
String Str = new String("3 5 3 -4 2 3");
String[] x = Str.split("-\\d+");
for (String retval: x){
System.out.println(retval.trim());
}
<强> Ideone Demo 强>
答案 1 :(得分:2)
您可以使用replace
方法搜索给定字符串(在本例中为-4)并将其替换为您选择的分隔符,可能是管道线(|
) 。然后,您可以使用split方法并使用现在插入的分隔符来拆分数组。
string = string.replace(replaceString, "|");
string[] parts = string.split('|');
不可否认,这是一个小迂回,但它快速,简单,并且可以工作。
答案 2 :(得分:0)
使用StringUtils你可以做这样的事情
public static void main(String[] args) {
String splitMe="123-457";
String [] newArray=StringUtils.split(splitMe, "-4");
for (String val:newArray){
System.out.println(val.toString());
}
}
第一个索引的输出为123,第二个索引的输出为57