我有一个包含运算符和操作数的方程。 我想将其拆分并在一个字符串数组中提取运算符和操作数,如下所示:
4+3 -2 + 1* 5 -2
4,+,-,2,+,1,*,5,-,2
有人对此有建议的正则表达式模式吗?
最佳答案
这是一种使用正则表达式来完成此操作的方法,没有使用过这些,因此可能可以改进。
Pattern pattern = Pattern.compile("[0-9]+|(\\+|-|\\*)");
Matcher matcher = pattern.matcher("4+3 -2 + 1* 5 -2");
List<String> parts = new ArrayList<>();
while (matcher.find()) {
parts.add(matcher.group());
}
String[] array = parts.toArray(new String[parts.size()]);
System.out.println(Arrays.toString(array));
输出:
[4, +, 3, -, 2, +, 1, *, 5, -, 2]
关于java - 使用正则表达式从操作数中拆分并提取运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29267275/