2017-03-09 73 views

回答

0

您可以使用下面的代码来提取数字。

LinkedList<Integer> numbers = new LinkedList<Integer>(); 

    Pattern p = Pattern.compile("\\d+"); 


    String line = "9/8*9+3"; 
    Matcher m = p.matcher(line); 
    numbers.clear(); 
    while (m.find()) { 
     numbers.add(Integer.parseInt(m.group())); 
    } 
0

与Sanjeet,不同的工具相同的方法。

List<Integer> numbers = new ArrayList<>(); 
String expression = "9/8*9+3"; 
for (String number : expression.split("[\\+-/\\*]")) { 
    numbers.add(Integer.parseInt(number)); 
} 

编辑

知道,有限制的分割方法。这两个(Sajeets和我的)不会允许负数(负号将被剥离)。我们也都是整数。不过,我的方法可以改为使用浮点数。