做码农好久,从来没有写过博客,今天心血来潮上来开个头,随便记点工作中遇到的问题,权当备忘吧~
工作中经常会用到正则替换,比如说文章关键字的检索,根据关键字检索出文章列表,文章中的关键字我们希望高亮显示,这时候就会用到正则替换,因为C#的String.Replace是不支持忽略大小写的,当然有的人会说正则替换的效率问题,这里就不做深究了,毕竟我们一般的操作正则的效率还不影响的,下面的语句就是正则替换的语句:
string sTitle= Regex.Replace(sTitle, Regex.Escape(sPatten), string.Format("<label>{0}</label>", sPatten), RegexOptions.IgnoreCase);
其中sTitle为待替换的字符串,本文的关键是Regex.Escape的使用,因为要替换的字符串sPatten是用户输入的,我们不能限制用户的输入内容,如果不加Regex.Escape用户如果输入* 、/ 等特殊字符的时候,替换会崩溃掉的
RegexOptions.IgnoreCase为忽略大小写