質問
パフォーマンスを考慮して、スペースを1つだけ残して内部のスペースをトリミングするにはどうすればよいですか?
Input: AA BB Output: AA BB Input: A A Output: A A
解決
System.out.println(" AA BB".replaceAll("\\s+", " ").trim());
出力:
AA BB
注:ここでの他のソリューションのいくつかとは異なり、これは単一のタブを単一のスペースに置き換えます。タブがない場合は"を使用できます{2、}"代わりにさらに高速になります:
System.out.println(" AA BB".replaceAll(" {2,}", " ").trim());
他のヒント
2つ以上のスペースを" \\ s {2、}"
を単一のスペース"に置き換えます。 "
を実行し、その後 trim()
を実行して、最初の例で示したように先頭と末尾のスペースを取り除きます。
output = input.replaceAll("\\s{2,}", " ").trim();
s = s.replaceAll("\\s+", " " ).trim();
"Hello a a g g a gag gs gs@".replaceAll( "[ ]+{2}", " ") ).trim();
正解はここにあります。例:
s = s.replaceAll("\\s+", " " ).trim();
しかし、正しい質問を選択することも重要だと思います。正規表現を使用して String
をトリミングするのではなく、単に String
をトリミングするように頼み、答える人に最高の戦略を見せることを許可しないのはなぜですか?
スペースを折りたたむには、正規表現を使用するよりも良い方法があります。確かにその他の方法があります。
所属していません StackOverflow