こんにちは、私はJavaに新しく、split methodをjavaで使用しようとしています。javaで文字列を分割すると、予想外の結果が出る
入力はを出力要求を所望
broadcast message "Shubham Agiwal"
次の形式の文字列の通りである以下の要素
["broadcast","message","Shubham Agiwal"]
マイコードで配列を取得することです続く:
String str="broadcast message \"Shubham Agiwal\"";
for(int i=0;i<str.split(" ").length;i++){
System.out.println(str.split(" ")[i]);
}
私は上記のコードから取得した出力がある
["broadcast","message","\"Shubham","Agiwal\""]
誰かが私は上記のように所望の出力を得るために私のコードに変更する必要があるものを私にさせることができますか?
[引用符の間にある場合を除いて、Javaのスペースに分割文字列、](http://stackoverflow.com/questions/7804335/split-string-on -space-in-java-except-between-quotes-ie-treat-hello-wor)、[文字列をトークン化するが、引用符内の区切り文字を無視する](http://stackoverflow.com/questions/3366281/tokenizing-a -string-but-ignoring-delimiters-within quotes)、[一重引用符や二重引用符で囲まれていないときにスペースを使って文字列を分割する正規表現](http://stackoverflow.com/questions/366202/regex-for-splitting- a-string-using-space-single-or-doubleで囲まれていない場合) – Tushar
ダブルスプリットがドギーに見えます。 –
あなたは 'split'を9回コールし、毎回同じ結果を出します。コードはあなたが望むことをしませんが、次にこのようなことを書いておきたいときは、ループの前にまず配列に結果を保存する方が読みやすく、速いです。 – ajb