可以使用正则表达式来匹配字符串中的双精度数并解析它们。以下是实现此功能的Java代码示例:
import java.util.ArrayList;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class DoubleParser {
public static ArrayList parseDoublesFromString(String str) {
ArrayList doubles = new ArrayList();
Pattern pattern = Pattern.compile("-?[0-9]+(\\.[0-9]+)?");
Matcher matcher = pattern.matcher(str);
while (matcher.find()) {
doubles.add(Double.parseDouble(matcher.group()));
}
return doubles;
}
}
在此示例中,我们使用正则表达式 "-?[0-9]+(\\.[0-9]+)?"
来匹配双精度数,并使用 Matcher
迭代字符串中的所有匹配项。对于每个匹配项,我们将其转换为双精度数并将其添加到 ArrayList
中。最后,我们将 ArrayList
返回。
要使用此函数,请调用 parseDoublesFromString
并传递要解析的字符串。例如:
String str = "1.23 4.56 7.89";
ArrayList doubles = DoubleParser.parseDoublesFromString(str);
System.out.println(doubles); // 输出 [1.23, 4.56, 7.89]