私は例えばこれを持っています:
"hello . world . thanks ."
そして私はこれを取得したい:
"hello. world. thanks."
試してみました
text = text.replaceAll(" .",".");
text = text.replaceAll(" \\.",".");
text = text.replaceAll(" \\.","\\.");
しかし、うまくいきません。解決策はありますか??
全てに感謝
replaceAll
最初の引数に正規表現を使用します。本当に単純なものが必要な場合(実際の問題がそれほど複雑ではないことを前提として、与えられた例の別名)を使用するだけreplace
です。
text = text.replace(" .", ".");
あなたの2番目の方法はうまくいったはずです。
前に 1 対多のスペースまたはタブがあると思います.
。その場合、+
量指定子を使用して 1 対多のスペースに一致させる必要があります。
text = text.replaceAll("\\s+[.]",".");
は正規表現で特別な意味を持つため、 orを.
使用してエスケープする必要があります。\\.
[.]
.
\s
と類似しています[ \t\r\n]
最初から使わないことをお勧めしますString.replaceAll
。ここでは正規表現は必要ありません。String.replace
代わりに使用してください。
text = text.replace(" .", ".");