gpt4 book ai didi

Java:将字符串方程拆分为数字和运算符

转载 作者:行者123 更新时间:2023-11-30 06:27:32 25 4
gpt4 key购买 nike

我试图将字符串方程拆分为两个数组:数字和运算符。

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 成为数字数组中的一个元素,并将小数点保留在运算符数组之外。

最佳答案

逗号只是向您显示元素分区。
这个[,表示第一个元素是空白。

尝试这些原始正则表达式

对于数字,按 [^\d.]+
拆分对于运算符,按 [\d.]+

拆分

而且,我不知道 Java split 是否可以删除空元素,但你想要
如果可以的话,进行检查后处理。

<小时/>

拆分笔记 -
[\d.]+ 是一个一般匹配数字的类,即。 'dd.dd'(离开运算符)
[^\d.]+,它匹配运算符(留下数字)

关于Java:将字符串方程拆分为数字和运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46840162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com