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

Chat&Messenger - テレビ会議も高機能 -
チャット、メッセンジャー、テレビ会議、スケジュール、文書共有を統合したフリーソフト

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

ページトップへ

会社情報 Copyright ©Chat&Messenger Inc. All rights reserved.