Java - 如何从此字符串中解析数字和字符?

时间:2017-03-09 10:53:38

标签: java android string integer

我有一个计算器,我的问题是我想以某种方式解析字符串中的int然后计算结果,我知道减法应该是第一个但是有没有任何模式来正确地做到这一点?  calc

2 个答案:

答案 0 :(得分: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()));
    }

答案 1 :(得分:0)

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

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

修改

请注意分割方法存在局限性。两个(Sajeets和我的)都不允许负数(负数将被剥离)。我们也假设整数。我的方法可以改为使用浮点数。