Java 如何从这样的字符串中提取double
如何从字符串中提取双值 例如,Java 如何从这样的字符串中提取double,java,regex,string,pattern-matching,Java,Regex,String,Pattern Matching,如何从字符串中提取双值 例如,s=“1.2+3.4*(3.2+2.3)-12.1/3.4*1.8+5.7” 如何提取双精度值,并将其存储为变量?您可以使用模式匹配来实现,并获取匹配部分 Pattern p = Pattern.compile("[0-9]*\\.?[0-9]+"); Matcher m = p.matcher("1.2+3.4*(3.2+2.3)-12.1/3.4*1.8+5.7"); while (m.find()) { System.out.println(m.grou
s=“1.2+3.4*(3.2+2.3)-12.1/3.4*1.8+5.7”
如何提取双精度值,并将其存储为变量?您可以使用模式匹配来实现,并获取匹配部分
Pattern p = Pattern.compile("[0-9]*\\.?[0-9]+");
Matcher m = p.matcher("1.2+3.4*(3.2+2.3)-12.1/3.4*1.8+5.7");
while (m.find()) {
System.out.println(m.group());
}
然后,您可以根据需要将所有匹配的数据收集到列表
或列表
要收集操作符,还需要添加另一个要查找的模式,请参见ORing部分
([0-9]*\.?[0-9]+)|(\+|-|\/|\(|\|\)|\*)
见
java.util.regex.Pattern
&java.util.regex.Matcher
Netbeans在模式和匹配器下显示红线,它说找不到类模式和匹配器,所以我的问题是我是否需要导入一些东西?正如前面提到的,你需要导入这两个类。我的最后一个问题是如何将每个字符存储为变量。我的意思是数字和+,-,所有这些符号在一个变量里?