放置 getLatLng 工作,但不能从响应中删除 ()
Places getLatLng working, but can't remove ( ) from the response
我正在处理地点,我需要获取我所在位置的纬度和经度。这样我就成功拿到了
mLatLang = placeLikelihood.getPlace().getLatLng();
其中 mLatLang 是 LatLng mLatLang;
现在,这一行的输出是
(-31.54254542,62.56524)
但是由于我使用 URL 来按纬度和经度查询结果,所以我无法将该数据放入带有括号 ()
.
的查询中
到目前为止,我已经在 Stack Overflow 上搜索了各种正则表达式来删除它,但似乎我做不到。我已经尝试过但没有成功:
types = placeLikelihood.getPlace().getPlaceTypes();
mLatLang = placeLikelihood.getPlace().getLatLng();
String latlongshrink = mLatLang.toString();
latlongshrink.replaceAll("[\\[\\](){}]","");
我也尝试了很多 replaceAll
正则表达式,但我无法删除它们。
我的输出应该是这样的:
-31.54254542,62.56524
如果你有一个像"(abc)"这样的字符串,你想得到括号中的内容,也许你可以使用substring来截取第一个和最后一个字符。
类似的东西可能适用于您的情况(并且您不必处理正则表达式):
String withParenthesis = "(abc)";
String content = withParenthesis.substring(1, withParenthesis.length()-1);
System.out.println(content); // print abc
您的逻辑中缺少的是 replaceAll
returns 结果字符串。但是您没有存储结果,这就是它不起作用的原因。所以尝试如下:
latlongshrink = latlongshrink.replaceAll("[\\[\\](){}]","");
现在尝试打印结果。它会给出预期的结果。有关 replaceAll()
函数的更多信息,请参阅 this。
我刚刚用匹配器解决了它
Matcher m = Pattern.compile("\(([^)]+)\)").matcher(latlongshrink);
while(m.find()) {
Log.e("Test",""+m.group(1));
latlongshrink = m.group(1);
}
我正在处理地点,我需要获取我所在位置的纬度和经度。这样我就成功拿到了
mLatLang = placeLikelihood.getPlace().getLatLng();
其中 mLatLang 是 LatLng mLatLang;
现在,这一行的输出是
(-31.54254542,62.56524)
但是由于我使用 URL 来按纬度和经度查询结果,所以我无法将该数据放入带有括号 ()
.
到目前为止,我已经在 Stack Overflow 上搜索了各种正则表达式来删除它,但似乎我做不到。我已经尝试过但没有成功:
types = placeLikelihood.getPlace().getPlaceTypes();
mLatLang = placeLikelihood.getPlace().getLatLng();
String latlongshrink = mLatLang.toString();
latlongshrink.replaceAll("[\\[\\](){}]","");
我也尝试了很多 replaceAll
正则表达式,但我无法删除它们。
我的输出应该是这样的:
-31.54254542,62.56524
如果你有一个像"(abc)"这样的字符串,你想得到括号中的内容,也许你可以使用substring来截取第一个和最后一个字符。
类似的东西可能适用于您的情况(并且您不必处理正则表达式):
String withParenthesis = "(abc)";
String content = withParenthesis.substring(1, withParenthesis.length()-1);
System.out.println(content); // print abc
您的逻辑中缺少的是 replaceAll
returns 结果字符串。但是您没有存储结果,这就是它不起作用的原因。所以尝试如下:
latlongshrink = latlongshrink.replaceAll("[\\[\\](){}]","");
现在尝试打印结果。它会给出预期的结果。有关 replaceAll()
函数的更多信息,请参阅 this。
我刚刚用匹配器解决了它
Matcher m = Pattern.compile("\(([^)]+)\)").matcher(latlongshrink);
while(m.find()) {
Log.e("Test",""+m.group(1));
latlongshrink = m.group(1);
}