2016-03-01 113 views
6

我想从Java中的字符串中移除所有奇怪的特殊字符。 那些奇怪的特殊字符以的形式出现? MS Word中的(问号)。样本字符串的图像如下所示。Java:从字符串中移除奇怪的特殊字符

enter image description here

+3

更改编码 – TheLostMind

+1

了解Unicode和UTF-8

String newString = my_string.replaceAll("\\p{C}", ""); 

更多信息。 – duffymo

+3

并检查http://stackoverflow.com/a/8519863/2166188 –

回答

4
String string=givenString.replaceAll("[^\\p{ASCII}]", ""); 

\ p {ASCII}是POSIX字符classes.It将取代非ASCII字符串并返回字符串(可打印ASCII)。

+0

您可以请添加一些解释而不是一行代码。 – ctst

1

这将工作:

String string = yourString.replaceAll("[^\\x00-\\x7F]", "");