在我的ASP.NET应用程序中,我想使用正则表达式将URL更改为用户帖子中的超链接,例如:
http://www.somesite.com/default.aspx
Run Code Online (Sandbox Code Playgroud)
至
<a href="http://www.somesite.com/default.aspx">http://www.somesite.com/default.aspx</a>
Run Code Online (Sandbox Code Playgroud)
使用Regex.Replace()这很容易,但我遇到的问题是,如果URL太长,我想截断链接文本,例如:
http://www.somesite.com/files/default.aspx?id=a78b38ae723b1f8ed232c23de7f9121d&n=93b34a732e074c934e32d123de19c83d
Run Code Online (Sandbox Code Playgroud)
至
<a href="http://www.somesite.com/files/default.aspx?id=a78b38ae723b1f8ed232c23de7f9121d&n=93b34a732e074c934e32d123de19c83d">http://www.somesite.com/files/default.aspx?id=a78b38ae723b1f8...</a>
Run Code Online (Sandbox Code Playgroud)
所以它显示如下:
http://www.somesite.com/files/default.aspx?id=a78b38ae723b1f8...
Run Code Online (Sandbox Code Playgroud)
我试图使用Regex.Matches()但我不知道如何替换文本,任何建议?
谢谢你的帮助 ...
编辑:没关系,伙计们,我自己想出来,结果非常简单,我只是使用了MatchEvaluator!
public static string Replace(
string input,
string pattern,
MatchEvaluator evaluator
)
Run Code Online (Sandbox Code Playgroud)