2016-10-31 8 views
1

[-123.141026905408,49.2636144033057]、[ - 123.141047822927,49.2631]のような複数の文字列を持っています。 それから二重の値を取得したいと思います。JAVA:文字列を分割して二重の値を取得する

String s[] = str.split("\\[|,|\\]"); 

私はこれを使用して文字列を分割しますが、二重の値は取得しません。誰かがより良い解決策を持っていますか?

+0

ソースデータにはペアがあります。これを維持したいのですか、数字のフラットなリストがほしいだけですか? –

+0

フラット番号がほしいだけ –

答えて

1

「初心者に優しい」おそらくない最もエレガントな方法:

  1. まず
  2. とそれらを置き換えるためにreplaceAll()を使用して(あなたの入力から文字をすべて削除[と]は、次に「」で分割しました;
  3. 最後にparseDouble()

Aを使用してこれらの値を解析する文字列の配列を受信しますより洗練されたアプローチは、[] ...の間の数を探す正規表現を使用し、それを使用して入力を反復することです。しかし、前述のように、上記は理解しやすくなり、コードを書き留めやすくなります。

EDIT:パターンがどのように機能するかを説明する他の人は実際には必要ないことに注意してください。彼らはうまく文書化されてhere!例えば、[\[\]]は大括弧の開閉記号を一致させるためにうまく動作するはずです。 文字クラスを使用します。

+0

String [] s = str.replaceAll( "\\ ["、 "").replaceAll( "\\]"、 "").split( "、"); それは私のために働くが、あなたはもっと良いことがありますか? –

+0

@NomanEllahiはい、split( "\\] \\ s *、\\ s * \\ [") ' –

+0

は私にとっては機能しません。 –

関連する問題