Помещает getLatLng работает, но не может удалить () из ответа - PullRequest
0 голосов
/ 26 апреля 2018

Я работаю с местами, и мне нужно узнать широту и долготу моего местоположения. Я успешно получил это, как это

mLatLang  = placeLikelihood.getPlace().getLatLng();

, где mLatLang равен LatLng mLatLang;

Теперь вывод этой строки

(-31.54254542,62.56524)

но поскольку я использую URL для запроса результатов по широте и долготе, я не могу поместить эти данные в запрос с круглыми скобками ().

До сих пор я искал переполнение стека для всех видов регулярных выражений, чтобы удалить это, но, похоже, я не могу этого сделать. Я пытался это безуспешно:

types = placeLikelihood.getPlace().getPlaceTypes();
mLatLang  = placeLikelihood.getPlace().getLatLng();
String latlongshrink = mLatLang.toString();
latlongshrink.replaceAll("[\\\\[\\\\](){}]","");

Я также попробовал намного больше replaceAll Регулярных выражений, но я не могу их удалить.

Мой вывод должен быть таким:

-31.54254542,62.56524

Ответы [ 3 ]

0 голосов
/ 26 апреля 2018

В вашей логике вы упускаете то, что replaceAll возвращает результирующую строку. Но вы не сохраняете результат, и поэтому он не работает. Поэтому попробуйте следующее:

latlongshrink = latlongshrink.replaceAll("[\\\\[\\\\](){}]","");

Теперь попробуйте напечатать результат. Это даст ожидаемый результат. См. this для получения дополнительной информации о функции replaceAll().

0 голосов
/ 26 апреля 2018

Я только что решил это с Matcher

 Matcher m = Pattern.compile("\\(([^)]+)\\)").matcher(latlongshrink);
                        while(m.find()) {
                            Log.e("Test",""+m.group(1));
                            latlongshrink = m.group(1);
                        }
0 голосов
/ 26 апреля 2018

Если у вас есть строка типа «(abc)» и вы хотите получить содержимое круглых скобок, возможно, вы можете использовать подстроку для вырезания первого и последнего символа.

Что-то подобное может работать в вашем случае (и вам не нужно иметь дело с регулярным выражением):

String withParenthesis = "(abc)";
String content = withParenthesis.substring(1, withParenthesis.length()-1);
System.out.println(content); // print abc
...