我有一个字符串"在下午2:25高于10385.29"。
我想从此String中获取Double值。
我尝试使用Pattern和Matcher:
Pattern pattern = Pattern.compile("(\\w+?).(\\w+?)");
Matcher matcher = pattern.matcher(instrumentName);
while (matcher.find()) {
String key = matcher.group(1);
String value = matcher.group(2);
System.out.println("Key : " + key + " value : " + value);
}
但它很奇怪,并没有找到双重价值。
我希望得到结果Double value = 10385.29
此值可以类似于xxx.xx
或xxxxx.xx
。点后总是两个数字,但之前可以是两个,五个或更多。
答案 0 :(得分:2)
如果字符串值存储如下“10385.29 2:25 pm”那么您可以将其拆分并使用parseDouble获取您的双倍值,如下所示:
String ss = "10385.29 2:25pm";
String vs[] = ss.split(" ");
double val = Double.parseDouble(vs[0]);
System.out.println(val);