2015-03-02 2 views
1

им сделать программу GPS слежения и я получаю сообщение смс следующего содержанияAndroid Раскол Текст/Числа от SMS строки

SMSMessage = "http://maps.google.com/maps?q=42.396068, 13.45201,17 телефон находится за пределами области «

Может ли кто-нибудь быть таким добрым и рассказать мне, как я могу разделить только нужную долготу и широту от строки sms?

спасибо заранее

+0

Каков ваш ожидаемый результат? –

+0

Hi 42.396068 и 13.45201,17 – Frank

ответ

0

Вы могли бы сделать так,

String s = "http://maps.google.com/maps?q=42.396068,13.45201,17 phone is outside the area"; 
String parts[] = s.replaceAll("^.*?=|\\s.*", "").split(",(?=[-+]?\\d+\\.\\d+)"); 
System.out.println(Arrays.toString(parts)); 

выход:

[42.396068, 13.45201,17] 
+0

hi thanx для вашего ответа, поэтому результаты будут в деталях [0] и частях [1 | я хочу .. я попробую это – Frank

+0

идеальный ответ ... был именно тем, что я искал ..thanx снова! – Frank

0

Вам нужно регулярное выражение, чтобы получить широту и долготу из данного текста. Здесь:

[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?) 

соответствий

  • +90,0, -127,554334 45, 180
  • -90, -180
  • -90.000, -180,0000
  • +90, +180
  • 47.1231231, 179.99999999

не соответствует

  • -90., -180.
  • +90,1, -100,111
  • -91, 123,456
  • 045, 180

Источник: Regular expression for matching latitude/longitude coordinates?

+0

привет им не очень знакомы с регулярными выражениями – Frank

+0

не могли бы вы дать мне пример кода, как получить только эти два значения из строки? – Frank

Смежные вопросы