【发布时间】:2013-09-27 05:49:23
【问题描述】:
如果标题不清楚,这里是例子
我想删除字符串中的所有特殊字符,特殊字符后的单词字符后跟一个空格。
String = "Here is the world's first movie. #movie";
对于上面的例子,我需要像这样的输出
"Here is the world first movie movie";
我尝试了很多正则表达式来实现这一点,但我不能尝试跟随
replaceAll("[^\\w]\\w{1}\\s", " ");
但它不起作用,你能告诉我正则表达式并解释一下吗?
提前致谢
编辑: 要求是我想删除#movie 中的特殊字符,并且还想删除带有单个字符后跟空格的特殊字符,如world's favorite 中的最终输出应该是world favorite。
特殊字符之后的字符很可能是's'。例如
world's, India's, john's
【问题讨论】:
-
假设 # 是您的特殊字符...在 #movie 之后没有空格。所以来源是错误的。您的输出缺少
.。请查看。 -
对我来说很好用(替换
's),你还记得将replaceAll的结果分配给某个东西吗? -
如果特殊字符后跟没有,一个或多个单词字符,然后是空格,您是否要删除它们,以便替换
's、.而不是#movie,因为有后面没有空格?意思类似于this? -
@PeterRader 我想删除所有非 Word 字符,所以输出中没有
.
标签: java regex replaceall