当我试图拆分一个字符串(如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]);
}
发布于 2015-03-02 18:05:46
您可以使用Matcher检索您感兴趣的内容,而不是删除您不想要的内容:
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());
}
https://stackoverflow.com/questions/28816203
复制相似问题