我正在制作一个gps跟踪程序,我收到一条带有以下内容的短信
smsMessage =" http://maps.google.com/maps?q = 42.396068,13.45201,17手机在该区域外"
任何人都可以这么善良并告诉我如何从sms字符串中仅拆分所需的经度和纬度?
提前thanx
答案 0 :(得分:0)
您需要使用正则表达式来获取给定文本的纬度和经度。这是:
[-+]?([1-8]?\d(\.\d+)?|90(\.0+)?),\s*[-+]?(180(\.0+)?|((1[0-7]\d)|([1-9]?\d))(\.\d+)?)
匹配
不匹配
来源:Regular expression for matching latitude/longitude coordinates?
答案 1 :(得分: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]