Saltar al contenido

Cómo eliminar caracteres de control de Java string?

Puede que se de el caso de que encuentres algún fallo con tu código o proyecto, recuerda probar siempre en un ambiente de testing antes añadir el código al trabajo final.

Solución:

Puede hacer algo como esto si desea eliminar todos los caracteres en otra categoría o controlar la categoría uni-code

System.out.println(
    "au0000bu0007cu008fd".replaceAll("\pCc", "")
); // abcd

Nota : Esto realmente elimina (entre otros) el carácter Unicode ‘u008f’ del stringno la forma escapada “%8F” string.

Cortesía: polygenelubricants (Reemplace los caracteres de control Unicode)

Una opción es usar una combinación de CharMatchers:

CharMatcher charsToPreserve = CharMatcher.anyOf("rnt");
CharMatcher allButPreserved = charsToPreserve.negate();
CharMatcher controlCharactersToRemove = CharMatcher.JAVA_ISO_CONTROL.and(allButPreserved);

Entonces usa removeFrom como antes. No sé cuán eficiente es, pero al menos es simple.


Como se señaló en las ediciones, JAVA_ISO_CONTROL ahora está en desuso en guayaba; los javaIsoControl() se prefiere el método.

Esta parece ser una opción

    String s = "u0001trn".replaceAll("[\pCntrl&&[^rnt]]", "");
    for (char c : s.toCharArray()) 
        System.out.print((int) c + " ");
    

huellas dactilares 9 13 10 tal como dijiste “excepto retornos de carro, saltos de línea y tabulaciones”.

Reseñas y valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *