Цитата:
Сообщение от shegan
Код:
String html = "zzz%a%qqq%b%xxx";
Pattern p = Pattern.compile("%([^%]+)%");
Matcher m = p.matcher(html);
while(m.find()) {
String find = m.group(0);
html = html.replaceAll(find, "copyright.html");
p = Pattern.compile("%([^%]+)%");
m = p.matcher(html);
}
Стоит отметить, что это странный подход.
Ведь в таком случае %a%, %b% заменятся на copyright.html.
Почему бы не реплейсить %copyright% на copyright.html?
|
c find() и group() уже нашел))) разобрался, но все-ранво спасибо! В том то и дело, я меняю по первому вхождению все, или что-то неправильно?(( Я же не поставил регулярку сразу перед replaceAll(). Он сначала находит, а потом меняет по готовой строке все в Html, далее опять находит и меняеет (по while), до тех пор пока не закончится поиск
Добавлено через 5 минут
Все работает как надо!
Pattern p = Pattern.compile("%([^%]+)%");
Matcher m = p.matcher(html);
while( m.find() )
{
String find = m.group(0);
String find_1 = m.group(1);
html = html.replaceAll(find, find_1 + ".html!");
p = Pattern.compile("%([^%]+)%");
m = p.matcher(html);
}Code: Java