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