zoukankan      html  css  js  c++  java
  • C# 关于字符串中 符合正则表达式的指定字符的替换的方法

    今天在做新浪的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,可以获取到匹配的字符串的值。

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

    写个博客不容易,请转载的时候备注下原文出处,谢谢
    作者:keepnode
    博客地址:http://www.cnblogs.com/woaic
    每件事到最后都是好事,如果不是好事,说明还没有到最后
    =========================
  • 相关阅读:
    gcc 编译器常用的命令行参数一览
    linux下源代码分析和阅读工具比较
    Linux系统——C/C++开发工具及环境搭建
    GDB调试——经验总结
    gdb调试的艺术——Debug技巧
    命令__cp、scp(Secure Copy)
    常用shell脚本命令
    命令__查找、替换、删除
    UltraEdit 删除空行
    命令__shell数字-字符串比较
  • 原文地址:https://www.cnblogs.com/woaic/p/2293754.html
Copyright © 2011-2022 走看看