我需要从可以采用以下两种格式的字符串中提取经纬度:
[-1.23,1.23]
(-1.23,1.23)
现在这就是我正在做的,但只适用于 [] no ():
Location.new(coordinates: [string.gsub(/\[|,(.*)\]/,'').to_f, string.gsub(/\[(.*),\s|\]/,'').to_f])
我需要很长的纬度订单,因为我使用的是 mongodb。
谢谢。
我需要从可以采用以下两种格式的字符串中提取经纬度:
[-1.23,1.23]
(-1.23,1.23)
现在这就是我正在做的,但只适用于 [] no ():
Location.new(coordinates: [string.gsub(/\[|,(.*)\]/,'').to_f, string.gsub(/\[(.*),\s|\]/,'').to_f])
我需要很长的纬度订单,因为我使用的是 mongodb。
谢谢。
您可以使用以下正则表达式/([\[\(])([^,]*),(.*?)([\]\)])/
。
我在节点上测试:
> var re = /([\[\(])([^,]*),(.*?)([\]\)])/;
> var s = "[-1.23,1.23]";
> var t = "(-1.23,1.23)";
> s.match(re)
[ '[-1.23,1.23]',
'[',
'-1.23',
'1.23',
']',
index: 0,
input: '[-1.23,1.23]' ]
> t.match(re)
[ '(-1.23,1.23)',
'(',
'-1.23',
'1.23',
')',
index: 0,
input: '(-1.23,1.23)' ]