删除java中的空格和特殊字符

Dev*_*dra 1 java regex string

我有String,其中包含一些特殊字符和空格.我想删除空格和特殊字符,我正在这样做

String str =  "45,%$^ Sharma%$&^,is,46&* a$# java#$43 Developer$#$^ in#$^ CST&^* web*&(,but He%^&^% want to move@!$@# in another team";
    System.out.println( str.replaceAll("[^a-zA-Z]", " ").replaceAll("\\s+"," "));


Output :- sharma is a java Developer in CST web but He want to move in another team
Run Code Online (Sandbox Code Playgroud)

我可以使用单一操作吗?怎么样?

Cep*_*pod 14

用单个空格替换任何非字母序列:

str.replaceAll("[^a-zA-Z]+", " ")
Run Code Online (Sandbox Code Playgroud)

您也可能希望trim()在替换后申请.

如果您想支持英语以外的语言,请使用"[^\\p{IsAlphabetic}]+""[^\\p{IsLetter}]+".关于差异,请参阅此问题.

  • 我正准备写同样的答案.这里的工作代码:http://ideone.com/QbszDu (2认同)