2017-04-24 100 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在這種情況下還應該考慮像一個特殊字符不行? –