我和地方一起工作,我需要获得我所在位置的纬度和经度。我成功地得到了这个
mLatLang = placeLikelihood.getPlace().getLatLng();
其中mLatLang是LatLng mLatLang;
现在,这一行的输出是
(-31.54254542,62.56524)
但由于我使用网址按纬度和经度查询结果,因此无法使用括号()
将数据放入查询中。
到目前为止,我已经搜索了各种正则表达式的Stack Overflow来删除它,但似乎我无法做到这一点。我试过这个没有成功:
types = placeLikelihood.getPlace().getPlaceTypes();
mLatLang = placeLikelihood.getPlace().getLatLng();
String latlongshrink = mLatLang.toString();
latlongshrink.replaceAll("[\\\\[\\\\](){}]","");
我还尝试了更多replaceAll
Regex,但我无法删除它们。
我的输出应该是这样的:
-31.54254542,62.56524
答案 0 :(得分:2)
您在逻辑中缺少的是replaceAll
返回结果字符串。但是你没有存储结果,这就是它无法正常工作的原因。请尝试以下方法:
latlongshrink = latlongshrink.replaceAll("[\\\\[\\\\](){}]","");
现在尝试打印结果。它会给出预期的结果。有关replaceAll()
功能的详细信息,请参阅this。
答案 1 :(得分:1)
如果你有像"(abc)"并且你想得到括号的内容,也许你可以使用子字符串来删除第一个和最后一个字符。
在您的情况下可能有用的东西(并且您不必处理正则表达式):
String withParenthesis = "(abc)";
String content = withParenthesis.substring(1, withParenthesis.length()-1);
System.out.println(content); // print abc
答案 2 :(得分:0)
我刚用Matcher解决了它
Private Sub SubmitCommandButtom_Click()
'Changed Len(TextBox1) = "" to Len(TextBox1.Value) = 0 as per explanation above.
'Added .Value to length checks
If Len(TextBox1.Value) = 0 And (Len(TextBox2.Value) > 0 Or Len(TextBox3.Value) > 0) Then
MsgBox "Unit Number must be entered to continue!"
Else
Sheets("Uneven Split Job Aid").Range("A2") = TextBox1.Value
Sheets("Uneven Split Job Aid").Range("B2") = TextBox2.Value
Sheets("Uneven Split Job Aid").Range("C2") = TextBox3.Value
'And any other code ....
End If