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

Reading number is top 10 articles
ASP.NET下的一个实验MVC的小东西_.net资料_编程技术
安装Sql,server,2005中AdventureWork_[SQL,Server教程]
扩展Label控件(1),-,实现回发(Postback)功能_[Asp.Net教程]
C#教程:DLL动态链接库的故障排除工具
asp.net2.0中Cache 对象的应用实例
XSL学习心得-制作图像超链接_[XML教程]
保护,SQL,Server,数据库的十大绝招_[SQL,Server教程]
Excel中数据导入到SQL,Server数据库_mssql学习_编程技术
详细讲解PHP编程中分页显示的制作_[PHP教程]
用VS2005生成数据库连接字符串_[Asp.Net教程]
Reading number is top 10 pictures
Born After 90 Beijing sports university campus flower photos2
战场废物2
yy365网站上的美女2
运动的范冰冰1
关于海盗的研究2
刘亦菲写真集2
史上最大的哺乳动物迁移
运动的范冰冰3
女人化妆前后的对比
a pure sister
Download software ranking
Prostitutes diary
株洲本地在线棋牌游戏
C++编程教程第三版
Jinling thirteen stock
Unix video tutorial13
双旗镇刀客B
Ashlynn Video2
jBuilder2006
JSP+Ajax Web development typical examples
天龙八部最新服务端
delv published in(发表于) 2014/1/27 6:49:14 Edit(编辑)
C#中正则表达式进行忽略大小写的字符串替换_[Asp.Net教程]

C#中正则表达式进行忽略大小写的字符串替换_[Asp.Net教程]

C#中正则表达式进行忽略大小写的字符串替换_[Asp.Net教程]

  在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.