2

URL付きのテキストがあり、HTML Aマークアップでラップする必要があります。これをC#で行うにはどうすればよいですか?

例、私は持っています

My text and url http://www.google.com The end.

入手したい

My text and url <a href="http://www.google.com">http://www.google.com</a> The end.
4

1 に答える 1

14

これには正規表現を使用できます。より優れた正規表現が必要な場合は、ここで検索できますhttp://regexlib.com/Search.aspx?k=url

これに対する私の迅速な解決策はこれです:

string mystring = "My text and url http://www.google.com The end.";

Regex urlRx = new Regex(@"(?<url>(http:[/][/]|www.)([a-z]|[A-Z]|[0-9]|[/.]|[~])*)", RegexOptions.IgnoreCase);

MatchCollection matches = urlRx.Matches(mystring);

foreach (Match match in matches)
{
    var url = match.Groups["url"].Value;
    mystring = mystring.Replace(url, string.Format("<a href=\"{0}\">{0}</a>", url));
}
于 2011-03-07T11:15:43.080 に答える