[英]how to extract double from a string like this
如何從字符串中提取double值?
例如, s= "1.2+3.4*(3.2+2.3)-12.1/3.4*1.8+5.7"
如何提取double值,並將其存儲為變量?
您可以使用模式匹配並抓取匹配部分
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());
}
然后,您可以根據您的要求將所有匹配的數據收集到List<Double>
或List<Float>
要收集運算符,您還需要添加另一個模式以查找ORing部分
([0-9]*\.?[0-9]+)|(\+|-|\/|\(|\|\)|\*)
看到
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.