正则表达式(17)——字符串替换

1、Regex.Replace,将字符串中匹配的内容替换为指定的内容。

2、将所有连续的a替换为一个A(原需求:把连续的空格替换为一个空格): 

string s = Regex.Replace("你aaa好aa哈哈a你", "a+", "A");

3、删除所有连续的a,其实就是将连续的a替换为空字符串。

4、练习1:将文本中连续的空格替换为一个空格。

5、如果匹配中有group,还可以在替换字符串中用$number来进行引用替换。例子,将中文双引号替换为单引号,string s1 = "string s1 = “sasdfadsf”;string s2 = “哈哈哈哈”";s1 = Regex.Replace(s1, "“(.*?)”", "\"$1\"");//注意贪婪的问题。

5、为什么上面需要$1,因为用到被替换的值了,引用

6、string s = Regex.Replace("年龄=20", @"(.+)=(.+)", "$2是$1")

7、练习1:将一段文本中的。MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式 ,比如“我的生日是05/21/2010耶”转换为“我的生日是2010-05-21耶”。

8、练习2:给一段文本中匹配到的url添加超链接,比如把http://www.test.com替换为<a href="http://www.test.com"> http://www.test.com</a>。参考代码:

//发帖编辑器中超链接自动识别的实现原理。
            string text = "我找到一个新网站http://www.qq.com,能下载歌曲,http://mp3.baidu.com也能下载。";
            string s = Regex.Replace(text,@"(http://[a-zA-Z0-9\.\?&=]+)","<a href='$1'>$1</a>");//这里的表达式不是非常准确。

9、因为这个是整体做为一个组,比较特殊,难以理解,先把日期转换的理解了就好理解了。 测试文本:我找到一个新网站http://www.qq.com,能下载歌曲,http://mp3.baidu.com也能下载。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值