Java: замена текстового URL с активируемой по щелчку ссылкой HTML

Я пытаюсь сделать некоторый материал с заменой Строки, содержащей некоторый URL к браузеру совместимый связанный URL.

Моя начальная строка похожа на это:

"hello, i'm some text with an url like http://www.the-url.com/ and I need to have an hypertext link !"

То, что я хочу получить, является Строковым сходством с:

"hello, i'm some text with an url like <a href="http://www.the-url.com/">http://www.the-url.com/</a> and I need to have an hypertext link !"

Я могу поймать URL с этой строкой кода:

String withUrlString = myString.replaceAll(".*://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"null\">HereWasAnURL</a>");

Возможно, для regexp выражения нужно некоторое исправление, но оно хорошо работает, потребность протестировать в дальнейшее время.

Таким образом, вопрос состоит в том, как сохранить выражение пойманным regexp и просто добавить, какой необходим для создания ссылки: пойманная строка

Заранее спасибо за Ваш интерес и ответы!

12
задан Martijn Courteaux 15 December 2009 в 19:02
поделиться

2 ответа

Попробуйте использовать:

myString.replaceAll("(.*://[^<>[:space:]]+[[:alnum:]/])", "<a href=\"$1\">HereWasAnURL</a>");

Я не проверял ваше регулярное выражение.

Используя () , вы можете создавать группы. $ 1 указывает индекс группы. $ 1 заменит URL.

Я задал вопрос simalir: мой вопрос
Некоторые примеры: Захват текста в группе в регулярном выражении

7
ответ дан 2 December 2019 в 07:21
поделиться

Предполагая, что ваше регулярное выражение работает для сбора правильной информации, вы можете использовать обратные ссылки в своей замене. См. Учебник по Java regexp .

В этом случае вы должны сделать

myString.replaceAll(....., "<a href=\"\1\">\1</a>")
1
ответ дан 2 December 2019 в 07:21
поделиться
Другие вопросы по тегам:

Похожие вопросы: