从Android上的动态字符串中提取地图网址

时间:2018-10-11 20:27:00

标签: java android

我有这个字符串

lat:54.897601 lon:4.707973
speed:0.03
T:18/10/11 13:52
http://maps.google.com/maps?f=q&q=54.897601,4.707973&z=16
Pwr: ON Door: OFF ACC: OFF

我想在字符串中提取http://maps.google.com/maps?f=q&q=54.897601,4.707973&z=16。 该消息是动态的。网址可以在邮件中的任何位置。如何从http提取到链接末尾的“空白”或“新行”?我已经尝试了很多,但是无法解决我的问题。 我正在使用Android 谢谢

编辑1: 你好 我是否要从此消息中提取网址?

    String text2 = "sensor alarm!\n" +
            "lat:52.897639\n" +
            "long:78.707985\n" +
            "speed:0.05 \n" +
            "T:18/10/11 15:51\n" +
            "http://maps.google.com/maps?f=q&q=52.897639,78.707985&z=16";

\ n不起作用

编辑2: 如果要提取此字符串的纬度和经度?

http://maps.google.com/maps?f=q&q=89.930893,75.721755&z=16

我想指出,纬度和经度永远不会是静态的。也会是

 http://maps.google.com/maps?f=q&q=9.993,7.725&z=16

我想要String lat和String lon中的这个; 谢谢

1 个答案:

答案 0 :(得分:1)

    String text = "lat:54.897601 lon:4.707973\n" +
            "speed:0.03\n" +
            "T:18/10/11 13:52\n" +
            "http://maps.google.com/maps?f=q&q=54.897601,4.707973&z=16\n" +
            "Pwr: ON Door: OFF ACC: OFF";

    String urlStr = text.substring(text.indexOf("http://maps.google.com"), text.indexOf("\n", text.indexOf("http://maps.google.com")) != -1 ? text.indexOf("\n", text.indexOf("http://maps.google.com")) : text.length());
    System.out.println(urlStr);