在 Java 中,我尝试从 ASCII 输出文件解析数据。数据外观示例如下所示。这些值的格式为精度 5 小数位数 3,并且值之间不存在空格。
80.234 <- 1 个值
71.01663.129 <- 2 个值 ...
67.09159.25353.997
56.02759.77859.25057.749
55.86558.46958.64861.72855.969
我可以使用什么正则表达式模式来匹配数值并将它们分成组?模式 (\d+.\d{1,3}) 匹配单个值。但是,指定行的组数后,它不会给出预期的答案。例如,我预计以下内容会找到 10 个组。
String testPattern = "68.65761.25659.01057.67657.14857.06457.41658.77861.16268.641";
// create a pattern to match the output
Pattern p = Pattern.compile("(\\d+\\.\\d{1,3}){10}");
Matcher m = p.matcher(testPattern);
if (m.find())
{
String group = m.group();
}
最佳答案
如果它们的格式相同,也许将 6 个字符作为字符串读取,然后使用 Double.parseDouble 将其从字符串解析为 Double 会更容易?
关于java - 使用 Java 的正则表达式类解析数值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858779/