从字符串中删除特殊字符
我的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","");
这将删除除字母,数字和下划线之外的所有内容。