Cómo eliminar caracteres unicode no válidos de cadenas en java
Estoy usando elAnalizador de dependencia de red neuronal CoreNLP analizar algunos contenidos de redes sociales. Desafortunadamente, el archivo contiene caracteres que, segúnfileformat.info, caracteres Unicode no válidos o caracteres de reemplazo Unicode. Estos son por ejemploU + D83D oU + FFFD. Si esos caracteres están en el archivo, coreNLP responde con mensajes de error como este:
Nov 15, 2015 5:15:38 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+D83D, decimal: 55357)
Residencia enesta respuesta, lo intentédocument.replaceAll("\\p{C}", "");
simplemente eliminar esos personajes.document
Aquí está solo el documento como una cadena. Pero eso no ayudó.
¿Cómo puedo eliminar esos caracteres de la cadena antes de pasarlos a coreNLP?
ACTUALIZACIÓN (16 de noviembre):
En aras de la exhaustividad, debo mencionar que hice esta pregunta solo para evitar la gran cantidad de mensajes de error al preprocesar el archivo. CoreNLP simplemente ignora los caracteres que no puede manejar, por lo que ese no es el problema.