Не удается сделать matcher.replaceall (...) с / (сглаш)JAVA

Программисты JAVA общаются здесь
Anonymous
Не удается сделать matcher.replaceall (...) с / (сглаш)

Сообщение Anonymous »

Я получаю сообщение от другой программы, где изменяются некоторые символы: < /p>

\n (enter) -> #

(hash) # -> \ #

\< /code> -> \\\\ < /code> < /p>

Когда я пытаюсь изменить эти изменения с помощью моего кода, он не работает, вероятно, из этого < /p>


Обратите внимание на то, что Backstrashes () и долларовые знаки ($) в строкости для замены могут привести к тому, что это было отличным, если это было отличным, если это было отличным, если это было отличным, если это было отличным, если это было отличным. Долларовые знаки могут рассматриваться как ссылки на захваченные последующие последствия, как описано выше, а обратная черта используется для ухода за буквальные символы в строке замены.public String changeChars(final String message) {

String changedMessage = message;

changedMessage = changePattern(changedMessage, "[^\\\\][#]", "\n");
changedMessage = changePattern(changedMessage, "([^\\\\][\\\\#])", "#");
changedMessage = changePattern(changedMessage, "[\\\\\\\\\\\\\\\\]", "\\\\");

return changedMessage;
}

private String changePattern(final String message, String patternString, String replaceString) {
Pattern pattern = Pattern.compile(patternString);
Matcher matcher = pattern.matcher(message);
return matcher.replaceAll(replaceString);
}


Подробнее здесь: https://stackoverflow.com/questions/141 ... with-slash

Вернуться в «JAVA»