c#正则的一个妙用
来源:互联网 发布:游戏编程精粹 pdf 编辑:程序博客网 时间:2024/05/21 10:24
假如,我们有这样一段文字
<color : red>愿:</color><color:green>我们的祖国越来越强大</color>
要替换成
<color = red>愿:</color><color=green>我们的祖国越来越强大</color>
当然,如果就事论事的话,要替换这个字符串的办法非常多.但是如果这仅仅是一个非常非常长的字符串,且里面有N多个个<color:xx>标记呢?这个时候自然而然的就想到了用正则,也很容易的就找到了正确的正则<color[ ]*:[ ]*[a-zA-Z]+[>](当然也有很多多种方式,正则的世界也是条条大陆通巴黎的)至于如何替换的思路也是非常清晰.但是如何用代码非常简单的就完成这个功能却是很让人有点摸不着头脑了.
其实Regex类的方法很多,我们要实现这个功能,需要用到的是Replace()方法的一个重载版本
Replace(string input, string pattern, string replacement);
其实最主要的是如何构造最后的那个replacement.
我们可以用匿名方法来实现想要的功能,其实这段代码真的非常简单
<code=C#>
string str = "<color : red>愿:</color><color:green>我们的祖国越来越强大</color>";
string regexPattern = "<color[ ]*:[ ]*[a-zA-Z]+[>]";
str = Regex.Replace(str, regexPattern, delegate(Match m) { return Regex.Match(m.Value, regexPattern).Value.Replace(":", "="); });
</code>
- c#正则的一个妙用
- 指针的一个妙用
- isdefined的一个妙用。
- Python的一个妙用
- Ibatis的一个妙用
- UltraEdit 正则表达式的妙用
- 动态正则表达式的妙用
- C#三斜线的妙用
- C# using 语句的妙用
- ::GetModuleFileName函数的一个妙用
- ::GetModuleFileName函数的一个妙用
- tee命令的一个妙用
- ::GetModuleFileName函数的一个妙用
- Host文件的一个妙用
- Python Exception的一个妙用
- ::GetModuleFileName函数的一个妙用
- 一个有趣的C#正则替换问题
- 正则表达式的妙用--获得数组
- 猪死啦!!!
- TinyXML基础知识
- 深刻理解Oracle数据库的启动和关闭
- 第十九課 文法
- 排队叫号程序
- c#正则的一个妙用
- 常用数据库连接方法
- makefile第三版发布
- Lotus Sametime 在线感知技术的开发
- 初识SOA
- 快速排序摸板,用C++实现
- 日记
- tcp要点学习-建立连接
- 如何查看Oracle中有哪些表