Как удалить недопустимые символы Юникода из строк в Java
Я используюАнализатор зависимостей нейронной сети CoreNLP проанализировать некоторые социальные медиа-контента. К сожалению, файл содержит символы, которые, согласноfileformat.info, недопустимые символы Unicode или символы замены Unicode. Это, например,U + D83D или жеU + FFFD, Если эти символы находятся в файле, coreNLP отвечает сообщениями об ошибках, подобных этому:
Nov 15, 2015 5:15:38 PM edu.stanford.nlp.process.PTBLexer next
WARNING: Untokenizable: ? (U+D83D, decimal: 55357)
На основеэтот ответь, я пыталсяdocument.replaceAll("\\p{C}", "");
просто удалить эти символы.document
вот только документ в виде строки. Но это не помогло.
Как я могу удалить эти символы из строки перед передачей в coreNLP?
ОБНОВЛЕНИЕ (16 ноября):
Для полноты картины следует упомянуть, что я задал этот вопрос только для того, чтобы избежать огромного количества сообщений об ошибках путем предварительной обработки файла. CoreNLP просто игнорирует символы, которые он не может обработать, так что это не проблема.