Como remover caracteres unicode não válidos de strings em java
Estou usando oAnalisador de Dependência de Rede Neural CoreNLP para analisar algum conteúdo de mídia social. Infelizmente, o arquivo contém caracteres que são, de acordo comfileformat.info, caracteres unicode inválidos ou caracteres de substituição unicode. Estes são por exemploU + D83D ouU + FFFD. Se esses caracteres estiverem no arquivo, o coreNLP responderá com mensagens de erro como esta:
Nov 15, 2015 5:15:38 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+D83D, decimal: 55357)
Baseado emesta resposta, eu tenteidocument.replaceAll("\\p{C}", "");
para apenas remover esses caracteres.document
aqui está apenas o documento como uma string. Mas isso não ajudou.
Como posso remover esses caracteres da string antes de passá-los para o coreNLP?
ATUALIZAÇÃO (16 de novembro):
Por uma questão de integridade, devo mencionar que fiz essa pergunta apenas para evitar a enorme quantidade de mensagens de erro pré-processando o arquivo. O CoreNLP simplesmente ignora os caracteres que ele não pode manipular, então esse não é o problema.