Как преобразовать следующую строку с обратной косой чертой в строку ниже? Есть ли функция в JAVA, чтобы сделать это, или я должен использовать замену?
'<div class=\"divcontent\"><p style=\"padding:0px;\"><p><strong>title<\/strong><\/p><\/div>
<div class="divcontent"><p style="padding:0px;"><p><strong>title</strong></p></div>
Да, используйте метод replaceAll
:
Java String Replace Variant ' replaceAll
В отличие от метода replace
, replaceAll
поддерживает регулярные выражения. Возможность " replaceAll
делает сложный поиск подстрок возможным внутри строкового объекта. После поиска каждая соответствующая подстрока заменяется данной заменой. Ниже приведен формат метода replaceAll
:
String replaceAll (String regEx, String replacement)
String sampleString = new String ("Remove All backslashes");
String resultantString = sampleString.replaceAll ("\\","");
sampleString.replace('\\', '\0');
Вы можете использовать метод Apache Commons Lang StringEscapeUtils.
import org.apache.commons.lang3.StringEscapeUtils;
// ...
String html = StringEscapeUtils.unescapeJava("<div class=\"divcontent\"><p style=\"padding:0px;\"><p><strong>title<\/strong><\/p><\/div>");
Почему мы не используем метод unescapeHtml()? Поскольку, например, он пытается преобразовать <
до <
и >
to >
. Но у нас нет с ними никаких проблем. Легко мы хотим удалить стандартные escape-последовательности java.