在Java中我如何分割它们以获得双重值。什么样的模式和要求? 但不仅是双倍,括号层索引
谢谢。如果输出类似于以下方式,我将不胜感激
支架1
子括号1:
第1点:1.1 1.2
第2点:2.1 1.5
子括号2:
第1点:3.1 4.1
括号2
子括号1:
第1点:8.1 6.2
第2点:2.5 4.5
子括号2:
第1点:3.8 4.9
...
答案 0 :(得分:3)
好吧,如果您只想获得双打列表,可以使用以下内容:
String input = "(((1.1 1.2, 2.1 1.5),(3.1 4.1)),((8.1 6.2, 2.5 4.5),(3.8 4.9)),((7.1 6.2, 2.5 5.5),(3.8 4.9)))";
Matcher matcher = Pattern.compile("\\d+\\.\\d+").matcher(input);
while (matcher.find()) {
double d = Double.parseDouble(matcher.group());
System.out.println(d); //or alternatively, add to a list
}
答案 1 :(得分:1)
我认为你只需要拆分任何这些非数字字符 - 听起来它们根本不重要,只是值:
value.split("[\\(\\), ]+")
然后使用String
解析每个Double.parseDouble()
。