Используя комбинацию ответов, здесь есть функция в C #, которая выполняет ту же функцию, что и функция ActionScript.
private string formatTweetText(string tweet)
{
Regex regUrl = new Regex(@"http://\S+");
string url = regUrl.Match(tweet).Value;
if (url.Length > 0)
{
string newReturnVal = string.Format("<font color=\"#FF0000\">{0}</font>", url);
string returnVal = tweet.Replace(url, newReturnVal);
return returnVal;
}
else
{
return tweet;
}
}
Приведенный выше код работает только при первом совпадении, если у вас есть несколько совпаденийвам нужно использовать этот код:
private string formatTweetText(string tweet)
{
string returnVal = tweet;
string updatedValue = tweet;
Regex regUrl = new Regex(@"http://\S+");
Match matches = regUrl.Match(tweet);
while (matches.Success)
{
for (int i = 0; i <= 2; i++)
{
Group g = matches.Groups[i];
CaptureCollection cc = g.Captures;
for (int j = 0; j < cc.Count; j++)
{
Capture c = cc[j];
string url = c.Value;
if (c.Length > 0)
{
string newReturnVal = string.Format("<font color=\"#FF0000\">{0}</font>", url);
returnVal = updatedValue.Replace(url, newReturnVal);
}
updatedValue = returnVal;
}
}
matches = matches.NextMatch();
}
return returnVal;
}