.NETで、ある文字列の中に含まれるURL部分をリンクタグつきのURL文字列に変換する関数のソースを教えてください。

要するに、以下を満たす関数funcが欲しいのです。

string instr = ”はてなのダミーサイトはhttp://hatena.jpです”
string outstr = func(instr)
// outstr = @”はてなのダミーサイトは<a href=””http://hatena.jp””>http://hatena.jp</a>です”


URL部分を検出して、そこをAタグを使った文字列に変換するのです。
Regexクラスを使えばよさそうなのですが、いまいち使い方が分からなくて困っています。
ずばりソースコードをお書きになってもよいですし、それが記載されているURLを教えていただいてもかまいません。
よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答3件)

id:ToMmY No.1

回答回数656ベストアンサー獲得回数19

MSDNは如何でしょうか。

よくEmEditorや秀丸などの機能で自動でリンクできるようにする機能がありますよね。ああいう機能をマクロを用いて使うことができると思いますが。。

.NETはあまりわからないので中途半端な回答では申し訳ないです。

id:xml-document1

きちんとした回答を求めています。

この回答はポイント配分の対象とはしません。

引き続き回答をお待ちしています。

よろしくお願いします。

2006/03/03 09:23:40
id:Will_NET No.2

回答回数14ベストアンサー獲得回数1

http://dobon.net/vb/dotnet/string/regexreplace.html

正規表現を使って文字列を置換する: .NET Tips: C#, VB.NET, Visual Studio

こんなのでどうでしょうか?

こちらで試してみましたが、少し編集すれば上記のような戻り値が得られました。

id:xml-document1

うーん、、、、

>こちらで試してみましたが、少し編集すれば上記のような戻り値が得られました。

その編集したソースをコピペしていただけると助かります。

2006/03/03 16:53:27
id:Will_NET No.3

回答回数14ベストアンサー獲得回数1

ポイント60pt

URLはダミーです。少し長々しいですが…


private string replaceURL(string src)

{

return System.Text.RegularExpressions.Regex.Replace(src,@”([^=””]|^)(http¥:[¥w¥.¥~¥-¥/¥?¥&¥=¥@¥;¥#¥:¥%]+)”,

”$1<a href=¥”$2¥”>$2</a>”,RegexOptions .ECMAScript);

}

id:xml-document1

ありがとうございます。実際にやってみて、うまく動作しました。

でも、なぜうまくいくのかがわかりません。。

それについては、自分でヘルプ見ながら勉強していきます。

2006/03/03 18:18:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません