0

输入到我们数据库的一些链接是巨大的,我需要控制它,因为它会破坏报告。

我需要以编程方式转换:

<a href="http://www.thisismylongurl.com">http://www.thisismylongurl.com</a>

进入

<a href="http://www.thisismylongurl.com">Link</a>

我已经研究过 Regex.Replace,但似乎找不到一个现成的可以满足我的需求。

如果不是很明显,“ http://www.thisismylongurl.com ”每次都会是不同的 URL,所以我需要使用正则表达式而不是固定的字符串替换。

4

2 回答 2

0

完美运行。虽然没有涉及正则表达式。

  protected void Page_Load(object sender, EventArgs e)
    {

        string str1="<a href='http://www.thisismylongurl.com'>http://www.thisismylongurl.com</a>";
        int b1 = str1.IndexOf(">");
        int b2 = str1.LastIndexOf("<");
        str1= str1.Remove(b1+1);
        int b3 = str1.IndexOf(">");
        str1 = str1.Insert(b3+1, "Link");
        Response.Write(str1);
    }
于 2013-04-10T12:29:50.240 回答
0

当替换中的“链接”没有改变时,你可以试试这个

(<\s*a\s+href="[^"]+">)[^<]*(?=</a>)

并替换为

$1Link

在 Regexr 上查看

\s匹配空白字符

[^"]是一个否定字符类,它匹配除"

(?=</a>)是一个积极的前瞻插入,它确保</a>了匹配之后。

$1为您提供第一个捕获组的内容,即第一个左括号后面的子模式匹配的内容。

于 2013-04-10T11:43:44.647 回答