私は次のような文字列を持っています:
test text test
単一のスペースをそのままにして、複数のスペースを置き換えたい
ので、次のようになります。
tets text test
ここで誰か私に提案してもらえregex
ますか?
次の置換を使用できます。
String replaced = str.replaceAll("((?<= ) | (?= ))", " ");
説明:ここでは、正規表現の先読み機能と後読み機能を使用しています。前にスペースがある、または後ろに((?<= ) | (?= ))
スペースがあるスペースを見つけることを意味します。これにより、単一のスペースは置き換えられず、複数のスペースはすべて置き換えられます。ルックアラウンドの詳細については、次のリンクを参照してください: http://www.regular-expressions.info/lookaround.html(?<= )
(?= )
String str = "test text test ";
System.out.println(str.replaceAll("\\s+", " "));