| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Есть String с html-документом |
| Автор: Barvetal 14.4.2006, 09:57 | ||||
| Всем привет! Есть String, в котором содержится html-документ. В этом документе есть картинки, пути к которым относительные. Мне нужно во всех этих линках дописать имя сервера. Например. Есть html-документ:
Мне нужно в ссылке на каждую картинку добавить имя сервера. Чтобы было
Понятно, что путей для достижения такого результата много... Но как решить мою задачу оптимальным образом? Всем заранее спасибо за ответ! |
| Автор: Barvetal 14.4.2006, 16:44 | ||
| Решил сделать при помощи регулярных выражений. Только проблема в том, что в исходном тексте перенос строки (0D0A) может стоять любом месте. Поэтому нужно подменять теги img src с учетом того, что они могут быть разорваны переводом строки в любом месте. Сделал так:
Очень уж не нравиться паттерн регулярного выражения, который получился... Может, есть паттерн или решение поэллегантней? |
| Автор: ALKS 15.4.2006, 11:00 |
| сделай в два шага. 1. замени перенос строки на пустую строку везде элементарным 2. замени доменное имя на то что тебе надо по более простому регулярному вырожению. работать будет быстрее вряд-ли, но выглядеть,возможно, будет проще и понятней |
| Автор: Barvetal 17.4.2006, 10:55 |
| >замени перенос строки на пустую строку везде элементарным Не все так просто... Дело в том, что переводов строки может быть несколько, так же, как и несколько пробелов. Поэтому делать цикл до тех пор, пока не будет переносов и дублирующихся пробелов и табуляторов... > работать будет быстрее вряд-ли, но выглядеть,возможно, > будет проще и понятней Эт точно, что быстрей не будет... Но проще и понятней тоже вряд ли, исходя из написанного мной на два абзаца выше... Если бы было только по одному пробелу и по одному переносу строки... Все равно спасибо за предложение и помощь! |
| Автор: igon 18.4.2006, 08:43 | ||||
1. Замени последовательность из одного и более whitespace character на единичный пробел
2. Как посоветовал ALKS |