目次
Java 正規表現を利用し文字列内のURLをリンク(a href=…)に変換
Javaで文字列内のURLを、正規表現を使用し、リンク(a href=…)に変換するサンプルソースです。
ソースコード
/** URLを抽出するための正規表現パターン */ public static final Pattern convURLLinkPtn = Pattern.compile ("(http://|https://){1}[\\w\\.\\-/:\\#\\?\\=\\&\\;\\%\\~\\+]+", Pattern.CASE_INSENSITIVE); /** * 指定された文字列内のURLを、正規表現を使用し、 * リンク(a href=...)に変換する。 * @param str 指定の文字列。 * @return リンクに変換された文字列。 */ public static String convURLLink(String str) { Matcher matcher = convURLLinkPtn.matcher(str); return matcher.replaceAll("<a href=\"$0\">$0</a>"); }
実行結果
◆実行例
public static void main(String[] args) { // 単純なパターン String ret1 = convURLLink("https://chat-messenger.com/"); System.out.println(ret1); // 文字列中に複雑なURLが組み込まれているパターンでも対応できます。 String ret2 = convURLLink("こんにちは。" + "http://aaa.co.jp/sup/topic.py?dep_id=108&~id=108" + "ここのURLにアクセスしてね。"); System.out.println(ret2); }
◆出力結果
<a href=”https://chat-messenger.com/”>https://chat-messenger.com/</a>
こんにちは。<a http://aaa.co.jp/sup/topic.py?dep_id=108&~id=108″>http://aaa.co.jp/sup/topic.py?dep_id=108&~id=108</a>ここのURLにアクセスしてね。