All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
动态修改.Net,StreamReader,Encoding编码_.net资料_编程技术
C#中的常用的数学术语
C#教程:C#发展历程以及特点
ASP.NET&Spring.NET&NHibernate最佳实践(六)——第3章人事子系统(3)_[Asp.Net教程]
几种分页算法。翻页必备_[SQL,Server教程]
C#中ListView控件应用实例
PHP实例:用PHP编写的网上调查投票系统_[PHP教程]
SQLServer的连接处理技巧_[SQL,Server教程]
C#中同一DataTable中合并相同条件的行数据_[Asp.Net教程]
解决SQL Server日志文件损坏严重的问题_[SQL Server教程]
Reading number is top 10 pictures
BingBingFan apple dew point photo gallery4
看如何给单纯的少女洗脑
Japan sexy beauty passion photo
中国女孩大胆自拍,显露完美身材4
含苞欲放的素颜美少女2
Seductive beauty of crime2
胸部遭到偷窥的女人们
餐桌上的鱼
The Soviet union swimsuit exposure in the 70 year2
NeedWallpaper4
Download software ranking
Wild things 2
Unix video tutorial19
dreamweaver8中文版
Red cliff
Tram sex maniac 2 (H) rar bag6
圣殿祭司的ASP.NET.2.0.开发详解-使用C#
C++教程第四版
Desire a peach blossom
Tram sex maniac 2 (H) rar bag5
超级战舰
aaa published in(发表于) 2013/12/18 7:57:58 Edit(编辑)
C#中正则表达式进行忽略大小写的字符串替换_.net资料_编程技术

C#中正则表达式进行忽略大小写的字符串替换_.net资料_编程技术

C#中正则表达式进行忽略大小写的字符串替换_.net资料_编程技术-你的首页-uuhomepage.com

  在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式。


  要使用正则表达式,首先需要引用命名空间:


using System.Text.RegularExpressions;


  然后,非常简单,使用:


Regex.Replace(字符串,要替换的子串,替换子串的字符,RegexOptions.IgnoreCase)


  就可以达到目的了,其中最后的参数RegexOptions.IgnoreCase即为指明忽略大小写


  但是,我现在要为一组字符串中的所有匹配的子字符串加上高亮显示(就是让它的字体样式和字符串其它的部分不一样),用下面的语句在字符串两端插入html标签,确实可以实现高亮,但高亮显示的就成了搜索子串的搜索字符串了,大小写与原文有差异。


  打个比方:我在"第十三种Asp.net实现"中搜索的keyString为"asp",替换后的字符串就成了"第十三种asp.net实现",而不是希望的"第十三种Asp.net实现"


DocumentResume[i]=Regex.Replace(hitDoc.Get("resume"),keyString,""+keyString+"",RegexOptions.IgnoreCase);


  所以,直接用正则表达式的Replace也不能达到我的需要,而要用到正则表达式的Match搜索方法(Match搜索单条,Matchs多条),然后在匹配的子串前后插入html标签,具体看下面的代码:


  string pain=hitDoc.Get("resume");//字符串
  System.Text.RegularExpressions.MatchCollection m= Regex.Matches(pain,keyString,RegexOptions.IgnoreCase);//忽略大小写搜索字符串中的关键字
  for(int j=0;j
  {
  //j×31为插入html标签使pain字符串增加的长度,注意下面两句不能交换位置,否则将出现HTML标签插入错误。
  pain=pain.Insert((m[j].Index+keyString.Length+j*31),"");//关键字后插入html标签
  pain=pain.Insert((m[j].Index+j*31),"");//关键字前插入html标签
  }


  当然,html标签也不是胡乱插好了就管用的。还要在要显示这个插完后的字符串的页面代码的head区加入下面的自定义样式



  nutian:但正则表达式方式忽略大小写替换应该效率不是最高,但也不是最低,一般应用应该可以.





添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.