Как обнаружить наличие URL в строке - PullRequest
26 голосов
/ 13 ноября 2008

У меня есть входная строка, скажем Please go to http://stackoverflow.com. Часть URL строки String обнаружена, и многие браузеры / IDE / приложения автоматически добавляют привязку <a href=""></a>. Так становится Please go to <a href='http://stackoverflow.com'>http://stackoverflow.com</a>.

Мне нужно сделать то же самое с помощью Java.

Ответы [ 12 ]

0 голосов
/ 13 ноября 2008

Вы задаете два отдельных вопроса.

  1. Каков наилучший способ определения URL в строках? Смотрите эту тему
  2. Как кодировать вышеуказанное решение в Java? другие ответы, иллюстрирующие использование String.replaceAll, адресовали это
0 голосов
/ 13 ноября 2008

Примитивный:

String msg = "Please go to http://stackoverflow.com";
String withURL = msg.replaceAll("(?:https?|ftps?)://[\\w/%.-]+", "<a href='$0'>$0</a>");
System.out.println(withURL);

Это требует уточнения, чтобы соответствовать правильным URL-адресам, и в частности параметрам GET (? Foo = bar & x = 25)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...