3

私は次のような文字列を持っています:

test    text test 

単一のスペースをそのままにして、複数のスペースを置き換えたい 
ので、次のようになります。

tets    text test

ここで誰か私に提案してもらえregexますか?

4

4 に答える 4

4

次の置換を使用できます。

String replaced = str.replaceAll("((?<= ) | (?= ))", "&nbsp;");

ライブデモ: http://ideone.com/kNb7rd

説明:ここでは、正規表現の先読み機能と後読み機能を使用しています。前にスペースがある、または後ろに((?<= ) | (?= ))スペースがあるスペースを見つけることを意味します。これにより、単一のスペースは置き換えられず、複数のスペースはすべて置き換えられます。ルックアラウンドの詳細については、次のリンクを参照してください: http://www.regular-expressions.info/lookaround.html(?<= )(?= )

于 2013-04-09T10:32:00.863 に答える
0
String str = "test    text test ";
System.out.println(str.replaceAll("\\s+", " "));
于 2013-04-09T10:39:57.603 に答える