gpt4 book ai didi

java - Java中从字符串中提取数字

转载 作者:行者123 更新时间:2023-12-01 07:57:03 24 4
gpt4 key购买 nike

引用这个问题here 。我有一个新问题。我想从字符串中提取最后两个出现的数字(经度/纬度)。

我使用引用答案中的方法。可以在此处找到发生错误的简单示例:

public static void main(String[] args) {
String input = "St. Louis (38.6389, -90.342)";

Pattern p = Pattern.compile("-?[\\d\\.]+");
Matcher m = p.matcher(input);

while(m.find()){
System.out.println(m.group());
}
}

控制台输出如下:

.
38.6389
-90.342

问题似乎出在“.”上。在“圣路易斯”。有人可以帮助我以一种好的方式解决这个问题吗?

非常感谢您的每一个回答/评论。

最佳答案

像下面这样改变你的正则表达式,

Pattern p = Pattern.compile("-?\\d+(?:\\.\\d+)?");
最后的

(?:\\.\\d+)? 将使小数部分成为可选。

关于java - Java中从字符串中提取数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806579/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com