-1

我用 JsonNode 得到以下 JsonNode

results = parentNode.get(GEOMETRY);

产生结果:"marks (79.89 90.78)"

问题是,我在结果中得到了整个字符串“marks (79.89 90.78)”。但我需要分别获取 () 大括号内的双打。

关于如何从这个字符串中获取双数的任何想法?

我可以使用正则表达式从字符串(结果字符串)中获取数字,但我想知道是否有其他解决方法可以做到这一点。

4

2 回答 2

0

如果结构始终相同,您可以执行以下操作来解析双打:

String fromJson = "marks (79.89 90.78)";
String[] split = fromJson.split(" ");
double a = Double.parseDouble(split[1].substring(1));
double b = Double.parseDouble(split[2].substring(0,split[2].length()-1));
System.out.println(a); // 79.89
System.out.println(b); // 90.78
于 2019-10-14T18:40:14.400 回答
0

您可以使用正则表达式。它给出了与给定模式匹配的所有值。您可以根据需要更改模式。

String s = "marks (79.89 90.78)";
    Pattern p = Pattern.compile("\\d+\\.\\d+");
    Matcher m = p.matcher(s);
    while(m.find()) {
        double d = Double.parseDouble(m.group());
    }
于 2019-10-14T18:52:51.107 回答