从String中提取两行数字

时间:2013-08-02 12:44:30

标签: java android string

我有一个gps模块,可以将数据字符串发送到我的Android应用。

例如,我得到的字符串可能如下所示:

http:/maps.google.com/maps?q=59.0000000,16.0000000

如何将数字提取为两个不同的字符串。

感谢正手

4 个答案:

答案 0 :(得分:5)

Uri uri=Uri.parse(yourString);
String result=uri.getQueryParameter("q");

然后将结果与,分开,这会为您提供array个字符串(将您的数字包含在字符串中)。

答案 1 :(得分:0)

试试这个

Matcher m = Pattern.compile("\\d+\\.\\d+").matcher(str);
m.find();
String n1 = m.group();
m.find();
String n2 = m.group();

如果格式是固定的,那么我们可以使其更简单

String[] str = "http:/maps.google.com/maps?q=59.0000000,16.0000000".replaceAll("\\D+(.+)", "$1").split(",");
String n1 = str[0];
String n2 = str[1];

答案 2 :(得分:0)

String类的split()方法返回字符串数组,因此您可以使用以下代码:

String s = req.getParameter(“q'); String [] arr = s.split(“,”);

String num1 = arr [0]; 字符串num2 = arr [1];

答案 3 :(得分:0)

执行以下操作:

String address = "http:/maps.google.com/maps?q=59.0000000,16.0000000";
String[] splited = address .split("=");
splited[0]; // this will contain "http:/maps.google.com/maps?q"
splited[1]; // this will contain "59.0000000,16.0000000"

String[] latlong = splited[1].split(",");

latlog[0]; // Should contain 59.0000000
latlog[1]; // Should contain 16.0000000

干杯: - )