2012-03-11 6 views
1
String test=" Begin with spaces"; 

for(String n:test.split("\\s"))    
    System.out.println(n); 

でスペースを扱っています:のstring.Splitが出力されている最初の

は私が削除したい

スペース

を開始しますすべてのスペースが空文字列を作成します。私は最初にトリムを使用することはできません。だから、この問題の最良の解決策は何ですか?

+6

? –

+0

私がしたいのは、文を分割して配列 – user1261718

+2

に入れることです。空文字列ではなく、空文字列を作成します。 – Perception

答えて

0
org.apache.commons.lang.StringUtils.split("  Begin with spaces", null); 

リターン:あなたはトリミング使用することはできませんなぜ

["Begin", "with", "spaces"] 
1

あなたが出力をしたい場合:

スペース

を開始それから私が使用するコードは次のとおりです。

String test = "Begin with spaces"; 
for(String n:test.split(" ")) 
    System.out.println(n); 

ので、ちょうど使用してみてください ""/sの代わりに

あなたが1つの文字列にそれらをスローするようにしたい場合は

だけで実行します。

String str = ""; 
String test = "Begin with spaces" 
for(String n:test.split(" ")) 
    str = str+n; 

System.out.println(str); 
+0

出力は同じです。最初にヌル要素があります。分割以外の方法が存在するかどうかを知りたい場合は、分割して空白を扱うことができます。 – user1261718

+0

問題を見つけるには、入力と出力をリストするのが良い方法ですが、入力内容はわかりますが、文字列と関係がありますか?すべてのスペースを削除しますか? – John

+0

oh geez。私はstackoverflow単語 "開始"と3つの空白行の前に2スペースを削除したことがわかりました。私は持っている問題は、分割は、nullの文字列要素を作成するが、私はそれらをしたくない – user1261718

1

ビルトインString.split方法本当に親切のクレイジーです。あなたがGuava'sSplitterを使用したほうが良いと思いますように聞こえる:

Iterable<String> strings = Splitter 
    .on(CharMatcher.WHITESPACE) 
    .trimResults() 
    .omitEmptyStrings() 
    .split(myString); 
関連する問題