Ниже будут заменены управляющие символы ASCII (сокращенное обозначение [\x00-\x1F\x7F]
):
my_string.replaceAll("\\p{Cntrl}", "?");
Ниже будут заменены все непечатаемые символы ASCII (сокращенное обозначение [\p{Graph}\x20]
), включая акцентированные символы:
my_string.replaceAll("[^\\p{Print}]", "?");
Однако ни одно из них не работает для строк Unicode. Кто-нибудь имеет хороший способ удалить непечатаемые символы из строки юникода?