Java:将字符串方程拆分为数字和运算符
问题描述:
我想将字符串方程拆分成两个数组:数字和运算符。Java:将字符串方程拆分为数字和运算符
String expr = "3/20.0";
String[] numbers = expr.split("[+-/\\*]");
String[] operators = expr.split("[^+-/\\*]+");
System.out.println(Arrays.toString(numbers));
System.out.println(Arrays.toString(operators));
但我的代码打印出:[3, 20, 0] [, /, .]
但我试图让[3, 20.0] [, /]
我不知道为什么逗号是在运营商阵列前面,但主要是我只是想20.0是数组数组中的一个元素,并保留我的运算符数组中的小数点。
FWIW:'+ - /'在字符类并不意味着“+或 - 或/“表示任何字符_between_ +和/。在ASCII中是“+, - 。/”。 (这就是为什么它匹配“。”)如果你想在字符类中放置一个,就把它放在最后。 –