Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

950
Visualizações
¿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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda