2017-04-24 391 views
-1

正则表达式排除字符串中的数字和特殊字符。
我需要在下面的字符串中排除数字和特殊字符。正则表达式排除字符串中的数字和特殊字符

与名称的服务 “11.KGGS.003022..CBCL ..” 已经激活 周一4月17日0点○○分00秒2017和Thu之间12月30日0点○○分00秒9999

我需要使用tableau中的模式,并且regex[^0-9]不起作用。 请帮助我。

+0

输出应该是什么样子? –

+0

你能向我们展示一个预期产出的例子吗? –

+0

'string.replaceAll(“\\ W + | \\ d +”,“”)''。删除所有特殊字符和数字 – XtremeBaumer

回答

2

可以使用replaceAll像这样:

str = str.replaceAll("[[email protected]#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]", ""); 

输出

A service with name KGGSCBCL is already active between Mon Apr and Thu Dec 

,我不知道如果空间考虑像一个特殊字符或不是,如果是你可以用这个代替:

str = str.replaceAll("[[email protected]#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?\\s\\n]", ""); 
//------------------------------------------------Space and back line ^--^ 

输出

AservicewithnameKGGSCBCLisalreadynactivebetweenMonAprandThuDec 

如果你想使每个字之间只有一个空间,你可以使用这个:

str = str.replaceAll("[[email protected]#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]", ""). 
     replaceAll("\\s+", " "); 
//------------------^^^^----^---------replace multiple spaces with only one 

输出

A service with name KGGSCBCL is already nactive between Mon Apr and Thu Dec 

解决方案2:

排除数字和特殊字符剩下的应该只有字母[a-zA-Z],所以你可以使用这个也:

str = str.replaceAll("[^a-zA-Z]", ""); 
+0

是不是空格也被认为是特殊字符? – XtremeBaumer

+0

@XtremeBaumer嗯,我真的不知道确定,我会在我的答案中增加另一部分,其中包括空间 –

+0

@XtremeBaumer在这种情况下还应该考虑像一个特殊字符不行? –

相关问题