2016-03-01 6 views
6

Я хочу удалить все странные специальные символы из строки в Java. Эти странные специальные символы появляются в форме ? (Вопросительный знак) в MS Word. Ниже приводится образ строки примера.Java: удалить странные специальные символы из String

enter image description here

+3

Изменения кодировки – TheLostMind

+1

Learn о Unicode и UTF-8. – duffymo

+3

и проверьте http://stackoverflow.com/a/8519863/2166188 –

ответ

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

\ р {} ASCII является POSIX символ classes.It заменит нон строку ASCII и возвращает строку (для печати ASCII).

+0

Можете ли вы добавить некоторое объяснение вместо одной строки кода. – ctst

1

Это будет работать:

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

Вы можете использовать

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

информации о регулярных выражениях Java Unicode Java Unicode Regular expression here

Смежные вопросы