从字符串中删除特殊字符

我的Java程序中有一个字符串,可以从数据库中读取。

这可能包含两者之间的特殊字符,如下所示:

特殊字符

我想忽略字符串中的所有这些特殊字符,使得最终字符串应该只有字母数字字符(或者如果可能的话,只有属于特定编码的字符,例如UTF-8等)。

那就是firm->s将成为输出字符串中的公司。

如何从输入字符串中删除除正常字母数字字符(或特定编码)之外的所有特殊字符到输出字符串?

   Gebrüder Leipzig→s  

错误是:

 Extra content at the end of the document Leipzig 

您可以使用String#replaceAll

 myStr = myStr.replaceAll("[^a-zA-Z0-9]+", "") 

^ 说 :“保留方括号内不在指定范围内的所有字符”。

试试正则表达式,

 String result= yourString.replaceAll("[^a-zA-Z0-9]+",""); 

这为您提供仅使用Alpha数字result

如果你只想要字母表

 String resultWithAlphabetsOnly= yourString.replaceAll("[^a-zA-Z]+",""); 

我会写的

 theString.replaceAll("\\W",""); 

这将删除除字母,数字和下划线之外的所有内容。