-1

我有以下形式的字符串:

String s = "......????!!!!! I am doing!!!???good , you say!!! ...how are...??!! you doing!?????.....";

我想要这个字符串的输出如下:

"I am doing!!!???good you say how are you doing"

而且我无法想出一个可以为我做到这一点的正则表达式,我正在尝试的是一种扫描字符串并附加到文本的蛮力方式,但是如果有人可以在很多情况下对此进行测试可以帮助我找出一个正则表达式或更有效的方法来做到这一点,那就太好了。

更具体地说,我想这样做:删除所有前导和尾随终止符,但保留那些出现在字符串中的终止符,如“say????what”

4

1 回答 1

2

这将适用于您的示例:

s = s.replaceAll("(?<=^| )[.?!]+|[.?!]+(?= |$)", "");

测试了这条线,它会产生您请求的输出。

它会删除空格旁边或两端的所有标点符号序列。

于 2013-09-28T02:56:26.447 回答