首页 > 解决方案 > 从特定子字符串之后开始的字符串中获取两个双子字符串

问题描述

对于 Android 应用程序,我使用的 API 返回以下格式响应:

"2016-05-08T14:07:58.738Z" | Lat: 50.012122| Long: 50.012122| Precision: 22.44868"

我正在尝试使用不同版本的.substring在两个Double中提取“Lat:”之后的双精度和“Long:”之后的双精度。代码很快变得很长,因为我多次调用子字符串(获取 Lat 和 Long 之后的值,并删除 | after 和其他所有内容)。

我正在寻找一种我目前看不到的更简洁和不复杂的方法。

谢谢你。

标签: javaformatting

解决方案


按照@luk2302 的建议,我这样做了:

String lat = string.split("\\|")[1].split("\\s+")[2];
String long = string.split("\\|")[2].split("\\s+")[2];

最后将 Double.parseDouble 转换为 Double 之后。


推荐阅读