2012-04-16 1 views
0

のために、私は緯度と長いこれらの2つの形式のいずれかであることができ、文字列から抽出する必要があります:正規表現は、緯度と長い列

[-1.23,1.23] 
(-1.23,1.23) 

は今、これは私がやっているものですが、唯一の[]なしで動作します():

Location.new(coordinates: [string.gsub(/\[|,(.*)\]/,'').to_f, string.gsub(/\[(.*),\s|\]/,'').to_f]) 

私はmongodbを使用しているので、長い緯度の順序が必要です。

ありがとうございました。

+0

異なる入力し、あなたが今持っているコードのそれぞれの出力の例を投稿してください。 – heltonbiker

+0

私は、最初と最後の文字をすべて取って、コンマで分割することを検討する方が簡単でしょう。 –

答えて

0

次の正規表現/([\[\(])([^,]*),(.*?)([\]\)])/を使用できます。

私は、ノード上でテスト:

> 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)' ] 
関連する問題