[英]Regular Expression and Pattern
MP((((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))))
在Java中,我如何將它們拆分為雙精度值。 什么是模式和reqex? 不僅加倍,而且具有括號層的索引
謝謝。
如果輸出類似於以下方式,我將不勝感激
支架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
...
好吧,如果您只想獲取雙打的列表,則可以使用如下代碼:
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
}
我認為您只需要拆分所有這些非數字字符-聽起來它們根本無關緊要,只是值:
value.split("[\\(\\), ]+")
然后使用Double.parseDouble()
解析每個String
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.