【发布时间】:2017-04-04 18:12:06
【问题描述】:
我想要一个可以像这样转换这个简单句子的 java 正则表达式:
1) I am a (happy) person!!!
进入
I am a happy person.
即忽略所有数字和特殊字符,但忽略单词之间的空格。
我现在正在使用这个正则表达式:
("\\P{L}", "")
但它给出的输出如下:
Iamahappyperson
感谢您的帮助!!
【问题讨论】:
-
现在试试我的答案( String new_string = "I am a (happy) person!!!".replaceAll("[^a-zA-Z ]+",""); )我忘了包括空格
-
尊重不使用 a-zA-Z。 javacodegeeks.com/2017/01/forget-iso-8859-1.html:正则表达式示例和教程总是为您提供 [a-zA-Z0-9]+ 正则表达式来“验证字母数字输入”。它内置在许多验证框架中。这是完全错误的。这是一个绝对不能出现在代码中任何地方的正则表达式,除非你有很好的解释。然而,这个例子无处不在。相反,正确的正则表达式是 [\p{L}0-9]+。