Удалить непечатаемый символ из строки в Java - PullRequest
0 голосов
/ 28 сентября 2018

У меня есть строка, как показано ниже:

String s = "$$$$A very beautiful girl having loads of £££££ in her 20�s.";

Я просмотрел некоторые ответы StackOverflow и попробовал следующее:

s.replaceAll("[^\\x00-\\x7F]", " ");

s.replaceAll("[^\\p{ASCII}]", " ");

Оба они удаляют странный знак вопроса, но онитакже удаляет знак фунта (£), сохраняя знак доллара ($).Мне нужно сохранить символ валюты.Можете ли вы предложить более подходящий подход?

Кроме того, есть ли какая-либо другая библиотека для этого вместо использования регулярного выражения?

1 Ответ

0 голосов
/ 28 сентября 2018

Попробуйте использовать:

s.replaceAll("[^\\x00-\\xFF]", " ");

Ваша проблема в том, что знак фунта является частью Latin-1 Supplement блока Unicode, который не включается при фильтрации до 7F.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...