2016-11-02 21 views
-1

まず、Javaでの分割に関するこれまでの質問をレビューしましたが、私は多くの回答を見たことがありますが、私が読んだことのどれもが私の問題を解決していません。私は、以下の文字列を分割しようとしているJavaの分割文字列

String toSplit = "[email protected], \"hel,o\"@mail.info , not,[email protected]"; 

を私はsplit関数に次の結果使用した,を持っているしたいと思います:あなたが見ることができるよう

[email protected] 

"hel,o"@mail.info 

not,[email protected] 

を、ありますどのようなdifferents文字列を作るが、また、文字列に含めることが許可されている、私は私のために働くstring.split関数に置くために何かを見つけることができませんでした...分割関数を使用しない他のソリューション有効でもある

事前にの

おかげ

+2

正規表現で昏睡状態の後にスペースを追加することができます。 –

+0

「a @ b、c、d @ e」とどうすればいいですか?電子メールの「ホスト」部分で受け入れられる '、'ですか? – talex

+0

特定の文字列 'split(" \\ s *、 ")'が機能するはずです。 – KDM

答えて

0

それはあなたの分割文字を変更することが可能である場合は、次のような;

あなたの文字列は次のようになり、電子メールのための有効な文字ではありませんセパレータを使用することができます "[email protected];"hel,o"@mail.info;not,[email protected]"

0

指定したString toSplitについては、カンマの後にスペースを置く必要があると仮定しました。 、

// String[] ans = toSplit.split("(,\\s+)"); 

String toSplit = "[email protected], \"hel,o\"@mail.info , not,[email protected]"; 
     String[] ans = toSplit.split("(,\\s+)"); 
     for(String s : ans){ 
      System.out.println(s.trim()); //for trailing whitespaces 
     } 

をそのロジックを使用すると、ここでは出力です:

[email protected] 
"hel,o"@mail.info 
not,[email protected]