- 2008-07-08 (火) 22:42
- Programming
using System.Text.RegularExpressions;
static string MakeUrlLink(Match m)
{
return string.Format("<a href={0}>{0}</a>", m.ToString());
}
Regex r = new Regex("https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%# ]+");
text = r.Replace(text, MakeUrlLink);
もしかして MakeUrlLink を定義しなくても書ける…?それはおいおい勉強していくということで。
[追記 08.07.10]
思い出したのでメモ。匿名メソッドを使えばカンタン。
using ...
using System.Text.RegularExpressions;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
/* 省略 */
private void button1_Click(object sender, EventArgs e)
{
Regex r = new Regex(
"https?://[-_.!~*'()a-zA-Z0-9;/?:@&=+$,%#]+");
textBox1.Text = r.Replace(textBox1.Text,
delegate (Match m) { return string.Format(
"<a href='{0}'>{0}</a>", m.ToString()); });
}
}
}
でも、見通しがいいかどうかは…どうだろう。最初の記述よりは、モダンで格好はいいと思うが、いまいち無名関数とやらのオイシさが理解できていなかったり。(だから忘れる。)
- Newer: [C#] Web上のイメージをコントロールに描画する
- Older: 予期せぬエラーのため、脳みそが動作を中止しました。

