Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

947
Vistas
¿Cómo eliminar \u200B (carácter Unicode de espacio en blanco de longitud cero) de String en Java?

Mi aplicación utiliza Spring Integration para el sondeo por correo electrónico desde el buzón de Outlook .

Como está recibiendo la cadena ( cuerpo del correo electrónico ) de un sistema externo (Outlook), no tengo control sobre ella.

Por ejemplo,

 String emailBodyStr= "rejected by sundar14-\u200B.";

Ahora estoy tratando de eliminar el carácter Unicode \u200B de esta Cadena.

Lo que ya probé.

Prueba #1:

 emailBodyStr = emailBodyStr.replaceAll("\u200B", "");

Prueba #2:

 `emailBodyStr = emailBodyStr.replaceAll("\u200B", "").trim();`

Prueba #3 (usando Apache Commons):

 StringEscapeUtils.unescapeJava(emailBodyStr);

Prueba #4:

 StringEscapeUtils.unescapeJava(emailBodyStr).trim();

Nada funcionó hasta ahora.

Cuando traté de imprimir esta Cadena usando el siguiente código.

 logger.info("Comment BEFORE:{}",emailBodyStr); logger.info("Comment AFTER :{}",emailBodyStr);

En la consola Eclipse , NO está imprimiendo unicode char,

Comentario ANTES: rechazado por sundar14-​.

Pero el mismo código imprime el carácter Unicode en la consola de Linux como se muestra a continuación.

Comentario ANTES: rechazado por sundar14-\u200B.

Leí algunos ejemplos en los que se recomienda str.replace() , pero tenga en cuenta que los ejemplos usan javascript, PHP y no Java.

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Finalmente, puedo eliminar el carácter ' Zero Width Space ' usando ' Unicode Regex '.

 String plainEmailBody = new String(); plainEmailBody = emailBodyStr.replaceAll("[\\p{Cf}]", "");

Referencia para encontrar la categoría de caracteres Unicode.

  1. Clase de caracteres de Java .

La clase de caracteres de Java enumera todas estas categorías Unicode.

ingrese la descripción de la imagen aquí

  1. Sitio web: http://www.fileformat.info/

Categoría de personaje

  1. Sitio web: http://www.regular-expressions.info/ => Expresiones regulares Unicode

Unicode Regex para caracteres

Nota 1: Como recibí esta cadena del cuerpo del correo electrónico de Outlook , ninguno de los enfoques enumerados en mi pregunta funcionó.

Mi aplicación recibe una cadena de un sistema externo ( Outlook ), por lo que no tengo control sobre ella.

Nota 2: esta respuesta SO me ayudó a conocer las expresiones regulares Unicode .

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda