Чтобы удалить только управляющие символы ASCII, используйте класс символов Cntrl
String newString = string.replaceAll("\\p{Cntrl}", "");
Чтобы удалить все 65 символов, которые Unicode называет «управляющими символами», используйте класс символов Cntrl
в режиме UNICODE_CHARACTER_CLASS
с флагом (?U)
:
String newString = string.replaceAll("(?U)\\p{Cntrl}", "");
Для дополнительного удаления символов «форматирования» в юникоде - например, управляющие символы для перевода текста справа налево или мягкий дефис - также можно обнулить класс символов Cf
:
String newString = string.replaceAll("(?U)\\p{Cntrl}|\\p{Gc=Cf}", "");