【发布时间】:2019-06-11 16:33:13
【问题描述】:
我想通过单个下划线 "_" 从我的 java 字符串中删除多次出现的特殊字符,例如 " "、"-"、"!"、"_"。
我试过了
replaceAll("([\\s\\-\\!])\\1+","_")
它似乎用下划线替换连续的相同类型的特殊字符,但否则不起作用。 例如:
Hello!!! World
变成
Hello__World
(2个下划线。)但应该是Hello_World。
对于像Hello - World 这样的情况,它也会失败。
我还尝试使用正则表达式并制作了一个像
replaceAll("([^a-zA-Z0-9])\\1+","_")
但它仍然没有帮助。我怎样才能实现它?
【问题讨论】:
-
只需使用
[\\s!-]+模式