【发布时间】:2009-01-01 00:35:11
【问题描述】:
在我的 ASP.NET 应用程序中,我想使用正则表达式将 URL 更改为用户帖子中的超链接,例如:
http://www.somesite.com/default.aspx
到
<a href="http://www.somesite.com/default.aspx">http://www.somesite.com/default.aspx</a>
使用 Regex.Replace() 相当容易,但我遇到的问题是,如果 URL 太长,我想截断链接文本,例如:
http://www.somesite.com/files/default.aspx?id=a78b38ae723b1f8ed232c23de7f9121d&n=93b34a732e074c934e32d123de19c83d
到
<a href="http://www.somesite.com/files/default.aspx?id=a78b38ae723b1f8ed232c23de7f9121d&n=93b34a732e074c934e32d123de19c83d">http://www.somesite.com/files/default.aspx?id=a78b38ae723b1f8...</a>
使其显示如下:
http://www.somesite.com/files/default.aspx?id=a78b38ae723b1f8...
我尝试使用 Regex.Matches() 但我不知道如何替换文本,有什么建议吗?
感谢您的帮助...
编辑: 没关系,我自己想出来的,结果非常简单,我只是用了MatchEvaluator!
public static string Replace(
string input,
string pattern,
MatchEvaluator evaluator
)
【问题讨论】: