如何摆脱arraylist Java中的额外空格

时间:2015-03-02 17:45:11

标签: java

当我尝试分解10-5*6/2+20之类的字符串以仅将运算符留在数组列表中时,它会在数组列表的开头添加额外的两个位置。

为什么会发生这种情况,我该如何预防?

起始编号的位数越多,添加到列表开头的空格就越多。

String sum = "10-5*6/2+20";
String numbers = "[\\d]"; 
String string = sum;
String[] splits = string.split(numbers);

for (int i = 0; i <  splits.length; i++)
{                   
    System.out.println(splits[i]);
}

1 个答案:

答案 0 :(得分:2)

您可以使用匹配器并检索您感兴趣的内容,而不是删除您不想要的内容:

String sum = "10-5*6/2+20";
Matcher m = Pattern.compile("\\D").matcher(sum); //keep non digit characters
while (m.find()) {
  System.out.println(m.group());
}