【问题标题】:Regular expression to split geo-coordinates from a String [closed]从字符串中拆分地理坐标的正则表达式[关闭]
【发布时间】:2013-10-19 10:26:18
【问题描述】:

我在字符串中有地理坐标,如下所示。

[79.9016492,6.8632761]

我需要将两个数字分隔为双精度值。有人可以帮我写一个正则表达式吗?

【问题讨论】:

  • 当然,我们会帮助您。首先显示您尝试过的内容。开始提示:StringreplaceSplit
  • 是String还是String[]?
  • @Jhanvi 这是字符串。 OP提到a String like the one given below.
  • 不需要正则表达式。对于这么简单的工作来说太贵了。正如 Suresh 所说,string.split.

标签: java android regex


【解决方案1】:

对于[79.9016492,6.8632761]字符串,是

String[] oxoy = "[79.9016492,6.8632761]".split("[\\[\\],]"); 
String x = oxoy[1]; // 79.9016492
String y = oxoy[2]; // 6.8632761 

Ideone DEMO

转换成双倍

Double x1 = Double.valueOf(x);
Double y1 = Double.valueOf(y);

【讨论】:

  • 优雅而单线。干得好,+1 赚得盆满钵满。
  • 谢谢@llya。它的工作。
【解决方案2】:

不完全是正则表达式,但你可以很容易地得到它,如下所示:

String[] a = "[79.9016492,6.8632761]".split(",");
double x = Double.valueOf(a[0].substring(1));
double y = Double.valueOf(a[1].substring(0,a[1].length()-1));

【讨论】:

    猜你喜欢
    • 2021-06-17
    • 1970-01-01
    • 2018-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多