2017-12-12 4 views
-2

文字列をスペースで区切り、 - (ハイフン) - AND条件付きで分割したい。シングルコールでスペーススペースで分割する方法 - Java

サンプルデータ:

Ahmedabad, Gujarat, India - ‎Chairperson-Centre for Continuing Education • Head-NI, BD & Marketing • Associate Dean-Skill Dev. at Mason UNIVERSITY - ‎Mason University 
String[] arrDesignation = strArea.split(" - "); 

予想データ:

アーメダバード、グジャラート州、インド

継続教育•ヘッドNI、BD用議長センター&マーケティング•アソシエートeディーンスキル開発。メイソン大学で

メイソン大学

実際のデータ:

アーメダバード、グジャラート州、インド

議長

継続教育•ヘッドセンター

NI、BD &マーケティング•Associate Dean

Skill Dev。メイソン大学

メイソン大学

+2

を参照し、問題は何ですか? – PKlumpp

+0

彼は区切り記号( " - ")の周囲にハイフンを使用していますが、文字列はハイフン( " - ")で分割されます。これは私が推測する問題です。 –

+0

私はあなたが気づくことができるので、0番目の位置のデータは位置、1番目の位置は指定を反映し、2番目の位置は会社の名前を反映し、その現象は静的であることがわかります。予想される配列の長さは3ですが、5以上になります。 –

答えて

2

 String input = "Ahmedabad, Gujarat, India - Chairperson-Centre for Continuing Education • Head-NI, BD & Marketing • Associate Dean-Skill Dev. at Mason UNIVERSITY - Mason University"; 

    String[] split = input.split("\\s-\\s"); 

    for (String s : split) { 
     System.out.println(s); 
    } 

を私は正規表現で

Ahmedabad, Gujarat, India 
Chairperson-Centre for Continuing Education • Head-NI, BD & Marketing • Associate Dean-Skill Dev. at Mason UNIVERSITY 
Mason University 

\ sのを取得していますが、空白文字

regex whitespace

+0

これは動作しません –

+0

Hmmm ...私のために働く(Java8) – GuyKhmel

+0

申し訳ありません申し訳ありません正規表現のサイトで試して、それは動作していませんでした。しかし、Javaはそれを正しく処理します。これは機能します。 –

-1

で、このいずれかを試してみてください。これについてどのように

String[] arrDesignation = strArea.split(".*(\\s+|\\-)"); 
+0

私はJava 9、Jsoup、スプリングブート1.9を使用しています。まだ動かない。 –

関連する問題