Как заменить недопустимые символы с помощью java

#java #xml #regex

#java #xml #регулярное выражение

Вопрос:

Недопустимый XML: ошибка в строке 190: в разделе CDATA был обнаружен недопустимый XML-символ (Unicode: 0x10).

Я получаю эту ошибку при разборе XML-файла, я использовал String.replaceAll для замены этого символа, но мой шаблон регулярных выражений кажется неправильным.

Ниже приведена другая строка, но она просто возвращает мне исходную строку. Как я должен это сделать?

 str = str.replaceAll("\^p", "");
  

Комментарии:

1. Как вы его анализируете? Разделы CDATA представляют собой нерасчитанные символьные данные, такого понятия, как недопустимый символ, не существует, потому что он не должен анализироваться, и его замена или изменение почти наверняка плохая идея.

Ответ №1:

Используйте это:

 String replaced = your_original_string.replaceAll("\x10", "");
  
  1. Синтаксис xdd... Java соответствует одному символу Юникода
  2. В вашей ошибке указано Unicode: 0x10

Ответ №2:

 str = str.replace("u0010", "");
  

Или, может быть, вам нужен пробел

 str = str.replace("u0010", " ");