正则表达式模式,用于排除字符串中的数字和特殊字符。
我需要在下面的字符串中排除数字和特殊字符。
名称为" 11.KGGS.003022..CBCL的服务。"已经活跃了 2017年4月17日00:00:00和9月12日星期四00 00:00:00。
我需要在画面中使用该模式,regex[^0-9]
无效。
请帮助我。
答案 0 :(得分:2)
你可以这样使用replaceAll
:
str = str.replaceAll("[0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]", "");
<强>输出强>
A service with name KGGSCBCL is already active between Mon Apr and Thu Dec
我不确定这个空间是否像一个特殊字符一样,如果是,你可以改用它:
str = str.replaceAll("[0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?\\s\\n]", "");
//------------------------------------------------Space and back line ^--^
<强>输出强>
AservicewithnameKGGSCBCLisalreadynactivebetweenMonAprandThuDec
如果你想在每个单词之间只留一个空格,你可以使用它:
str = str.replaceAll("[0-9!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]", "").
replaceAll("\\s+", " ");
//------------------^^^^----^---------replace multiple spaces with only one
<强>输出强>
A service with name KGGSCBCL is already nactive between Mon Apr and Thu Dec
排除数字和特殊字符其余部分应仅为字母[a-zA-Z]
,因此您也可以使用此字符:
str = str.replaceAll("[^a-zA-Z]", "");