我有一个字符串

"This is a big sentence .  !  ?  !  but I have to remove the space ."

在这句话中,我想删除标点符号之前的所有空格,应该变成
"This is a big sentence.!?!  but I have to remove the space."

我正在尝试使用 "\p{Punct}" 但无法替换字符串。

最佳答案

你应该使用 positive lookahead :

newStr = str.replaceAll("\\s+(?=\\p{Punct})", "")

ideone.com demo for your particular string

表达式分解:
  • \s : 空白...
  • (?=\\p{Punct}) ...后跟标点符号。
  • 10-08 01:21