El siguiente reemplazará los caracteres de control ASCII (abreviatura de [\x00-\x1F\x7F]
):¿Cómo puedo reemplazar caracteres Unicode no imprimibles en Java?
my_string.replaceAll("\\p{Cntrl}", "?");
El siguiente reemplazará todos los caracteres ASCII no imprimible (la abreviatura de [\p{Graph}\x20]
), incluyendo los caracteres acentuados:
my_string.replaceAll("[^\\p{Print}]", "?");
Sin embargo , ninguno funciona para cadenas Unicode. ¿Alguien tiene una buena manera de eliminar los caracteres no imprimibles de una cadena Unicode?
Tenga en cuenta que "no imprimible "e" invisible "son cosas diferentes. Los espacios en blanco (tab, space, newline, ...) son "invisibles" pero no imprimibles. –
bien, me refiero a no imprimible – dagnelies
Solo como una adición: la lista de categorías generales Unicode se puede encontrar en [UAX # 44] (http://unicode.org/reports/tr44/#GC_Values_Table) – McDowell