![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Barvetal |
|
||||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 181 Регистрация: 31.10.2005 Репутация: 5 Всего: 5 |
Всем привет!
Есть String, в котором содержится html-документ. В этом документе есть картинки, пути к которым относительные. Мне нужно во всех этих линках дописать имя сервера. Например. Есть html-документ:
Мне нужно в ссылке на каждую картинку добавить имя сервера. Чтобы было
Понятно, что путей для достижения такого результата много... Но как решить мою задачу оптимальным образом? Всем заранее спасибо за ответ! |
||||
|
|||||
Barvetal |
|
|||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 181 Регистрация: 31.10.2005 Репутация: 5 Всего: 5 |
Решил сделать при помощи регулярных выражений.
Только проблема в том, что в исходном тексте перенос строки (0D0A) может стоять любом месте. Поэтому нужно подменять теги img src с учетом того, что они могут быть разорваны переводом строки в любом месте. Сделал так:
Очень уж не нравиться паттерн регулярного выражения, который получился... Может, есть паттерн или решение поэллегантней? |
|||
|
||||
ALKS |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 354 Регистрация: 22.3.2006 Репутация: 6 Всего: 11 |
сделай в два шага. 1. замени перенос строки на пустую строку везде элементарным 2. замени доменное имя на то что тебе надо по более простому регулярному вырожению.
работать будет быстрее вряд-ли, но выглядеть,возможно, будет проще и понятней ![]() |
|||
|
||||
Barvetal |
|
|||
Бывалый ![]() Профиль Группа: Awaiting Authorisation Сообщений: 181 Регистрация: 31.10.2005 Репутация: 5 Всего: 5 |
>замени перенос строки на пустую строку везде элементарным
Не все так просто... Дело в том, что переводов строки может быть несколько, так же, как и несколько пробелов. Поэтому делать цикл до тех пор, пока не будет переносов и дублирующихся пробелов и табуляторов... > работать будет быстрее вряд-ли, но выглядеть,возможно, > будет проще и понятней ![]() Эт точно, что быстрей не будет... Но проще и понятней тоже вряд ли, исходя из написанного мной на два абзаца выше... Если бы было только по одному пробелу и по одному переносу строки... Все равно спасибо за предложение и помощь! |
|||
|
||||
igon |
|
||||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 327 Регистрация: 30.10.2004 Репутация: нет Всего: 21 |
1. Замени последовательность из одного и более whitespace character на единичный пробел
2. Как посоветовал ALKS -------------------- Хотите поговорить об этом? |
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |