2012-04-07 38 views
3

文字列から特定の数値を抽出しようとしていますが、実行方法がわかりません。Javascript - 特定の数値を文字列から抽出する

文字列の形式は次のとおりです。

center=43.571464,7.129565&zoom=12&size=480x225&markers=color:red%7Clabel:1%7C43.580293713725936,7.115145444335894&markers=color:red%7Clabel:2%7C43.56512073056565,7.121668576660113&sensor=false 

私が欲しいの配列は、具体的には、マーカーが終わり近く座標です:

[43.580293713725936,7.115145444335894,43.56512073056565,7.121668576660113] 

私は彼らの精度を使用して、これらの番号を選ぶことができると思いました(15)しかし、それが最善かどうかわかりません。私は正規表現を使用することについてはハックです。今すぐ最高のものは:

str.match(/[-+]?[0-9]*\.?[0-9]+/g) 

しかし、それだけで私にすべての数字が与えられます。

大変助けてください!

答えて

1

文字列がstrの場合、この正規表現を使用してください。

var coordinates = decodeURIComponent(str).match(/([\d.]{10,})/g); 

http://jsfiddle.net/CHfcT/

1

あなたはこれがあることを前提とし、以下の正規表現

/\d+\.\d{7,}/g 

を使用して試みることができる:マーカーは常にドット 後7つの以上の数字を持っている座標

  • ストライクの他の部分はありませんNGはドット

例(JSFiddle)後に7つの以上の数字と同様のパターンを含む:

str.match(/\d+\.\d{7,}/g); 

除外するように、試料中の他の数値は、6を持っていたので、私は7を選んだ理由がありましたそれら。

/\s+\.\d{10}/g 
+0

完璧に動作することとgrazieのミル:あなたは座標は常に小数点以下の桁数が固定されていることを知っている場合は、ちょうどこのよう,ことなく、その特定の番号を使用することができます! – user1319316

+0

@ user1319316喜んで助けてください – Robbie

関連する問題