繁体   English   中英

从java中的字符串中分离数字和数学符号

[英]separate numbers and mathematical sign from string in java

我正在为Android开发一款计算器类的应用程序,因此无法通过输入数字和不同的符号来评估表达式。我将字符串设为“ 10 + 5-35 * 2 + 80/4”,并希望将所有数字和符号分开这样我就可以解决表达式了

更具体地讲....数字可以是任何数字的[0-9]之间的任何数字,并且可以有任何运算符。

您可以遍历字符串并使用以下命令:

for(Character ch : inputString.toCharArray())
    if (Character.isDigit(ch))
        // ...
    List<String> numbers = new ArrayList<>();
    List<String> operators = new ArrayList<>();
    String str = "1+2/300%4";
    char[] strCharArray = str.toCharArray();
    StringBuilder numbersSb = new StringBuilder();
    for (int i = 0; i < strCharArray.length; i++) {
        if (Character.isDigit(strCharArray[i])) {
            numbersSb.append(strCharArray[i]);
        } else {
            operators.add(String.valueOf(strCharArray[i]));
            numbers.add(numbersSb.toString());
            numbersSb = new StringBuilder();
        }
        if (i == strCharArray.length - 1 && !numbersSb.toString().isEmpty()) {
            numbers.add(numbersSb.toString());
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM