C# 关于字符串中 符合正则表达式的指定字符的替换的方法

本文介绍了一种方法,通过正则表达式和字符串操作,将新浪API返回的微博信息中的网址动态地添加到HTML a标签中,包括获取网址、替换文本和应用目标窗口链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在做新浪的API的时候遇到一个问题,新浪返回的微博信息中的网址是以字符串形式出现的。我就纠结在怎么把,从新浪API返回的所有微博信息中添加上a标签。

如:

"text":"轻松达成了“兵器达人”的1星任务。 我收集到了1种兵刃轻松达成了“兵器达人”的1星任务。去Q将三国看看:http://t.cn/Scc1rE"

怎么吧所有的text中的网址加上a标签,重点是href属性的网址怎么动态赋值。

下面是我的做法,希望对大家能有帮助。

string result  = httpRequest.Request(url, String.Empty);
Regex r = new Regex(@"http://t\.cn/[a-zA-Z0-9]{6}");
MatchCollection mc = r.Matches(result);
for (int i = 0; i < mc.Count; i++)
{
result=result.Replace(mc[i].Value, "<a href='" + mc[i].Value + "' target='_blank'>" + mc[i].Value + "</a>");
}

httpRequest.Request(url,String.Empty),是我封装的一个调用新浪API的方法,返回的是微博信息。

据我观察(不知道是不是真的),新浪微博中网址都是http://t.cn/+6个数字或字母,所以正则表达式是:http://t\.cn/[a-zA-Z0-9]{6}

MatchCollection 可以返回匹配的字符串的数量。

通过mc[i].Value,可以获取到匹配的字符串的值。

 

这算是我今天的一个总结文章吧。希望对大家也有所帮助和启发。

 

转载于:https://www.cnblogs.com/woaic/archive/2011/12/19/2293754.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值