簡體   English   中英

正則表達式和模式

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM