Places getLatLng获取坐标成功,求助移除结果中括号的方法
解决LatLng格式去除括号用于URL查询的问题
嘿,我来帮你搞定这个困扰!其实不用死磕正则,咱们有更省心的方案,分两种情况给你说:
最优方案:直接从LatLng对象提取经纬度
既然你已经拿到了mLatLang这个LatLng类型的变量,完全不用先把它转成带括号的字符串再处理——直接用它自带的属性就能拿到纯净的经纬度值:
// 直接提取纬度和经度 double lat = mLatLang.latitude; double lng = mLatLang.longitude; // 拼接成URL需要的格式(比如 "-31.54254542,62.56524") String urlQueryParam = lat + "," + lng;
这个方法最靠谱,完全避免了字符串处理可能带来的格式错误,是优先推荐的做法。
如果已经拿到带括号的字符串,这么处理
要是你已经把LatLng转成了类似(-31.54254542,62.56524)的字符串,那也有两种简单的处理方式:
方法1:字符串截取(高效直接)
因为格式是固定的(xxx,yyy),直接去掉首尾的括号就行:
String rawLatLngStr = "(-31.54254542,62.56524)"; String cleanedStr = rawLatLngStr.substring(1, rawLatLngStr.length() - 1); // 结果就是 "-31.54254542,62.56524"
方法2:正则替换(灵活适配)
要是担心格式有细微变化,用正则把所有括号替换掉就行——注意正则里括号是特殊字符,需要转义:
String cleanedStr = rawLatLngStr.replaceAll("[()]", "");
或者更精准地只匹配开头的左括号和结尾的右括号:
String cleanedStr = rawLatLngStr.replaceAll("^\\(|\\)$", "");
之前正则没生效大概率是没转义括号,这个坑踩过的人不少~
内容的提问来源于stack exchange,提问作者Gastón Saillán
相关产品推荐
相关产品推荐

