MENU

Java 文字列内のURLをリンクに変換

目次

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にアクセスしてね。

  • URLをコピーしました!
目次