问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C#中正则表达式进行忽略大小写的字符串替换

发布网友 发布时间:2023-01-12 18:48

我来回答

1个回答

热心网友 时间:2023-07-11 05:23

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

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

   以下是引用片段   using System Text RegularExpressions;

  然后 非常简单 使用

   以下是引用片段   Regex Replace(字符串 要替换的子串 替换子串的字符 RegexOptions IgnoreCase)

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

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

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

   以下是引用片段   DocumentResume[i]=Regex Replace(hitDoc Get( resume ) keyString +keyString+ RegexOptions IgnoreCase);

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

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

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

   以下是引用片段 <STYLE type=text/css>   <!   Highlight {  color: # FFFF;  font style: italic;   font size: larger;   }  >  </STYLE>

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

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

   以下是引用片段:<STYLE type=text/css>   <!-- .Highlight {  color: #00FFFF;  font-style: italic;   font-size: larger;   } -->  </STYLE>

lishixin/Article/program/net/201311/12465
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么打电话给别人,显示无法接通? 我给对方打电话时,他那边响一声后就提示无法接通是什么情况? iPhone 6Plus相机远距离无法对焦,得用力摇几下才恢复,过会又模糊,什么... iphone6plus。近拍清楚,远拍模糊,怎么回事?聚焦不了。 怎么办~ 廉锦枫《廉锦枫》——剧情分析 我想取个好听的英文名字,而且希望是有意义的`拜托了各位谢谢 不锈钢公司取名带匠字文化深厚的企业名称大全 带匠字的厂名 公司名字为什么不可以带匠字 我儿子刚上一年级老师给我发微信时表现不错我怎么和老师沟通 北面冲锋衣帽子两边没有绳子是假的吗 北面绒线帽每款帽子区别 北面冲锋衣帽子上没有绳扣子是假的吗 我想问问蓝牙连接车怎么播放不了音乐 领动汽车蓝牙音乐没声音怎么回事 e店宝打开订单页面看不到单和出现这种提示框写的下面这句话 The server was unable to verify your account 苹果浏览器为什么扫不了码 牛骨汤怎么做才好喝 牛骨汤的做法 穹顶蓝是什么颜色 采用东方国潮美学+大掀背设计 奔腾B70产品力分析 手机wps如何自动更改标点符号? iphone4美版官方解锁 美版iphone4怎么申请官方解锁 农村医保卡丢了补办要多久 京东物流投诉有效期 京东快递编号格式 大足区万古镇京东快递能收到吗 京东快递五天没有物流就要换单号嘛 为什么别人能在京东到家收到东西我的却搜不到 四川省军区国防医院治痘痘好不好?还是成都三医院还呢? 如何把微信收到的照片设为联系人图像 高血糖的“元凶”找到了,患上高血糖的人,通常有4个共性 荒野行动地图怎么下载 我现在要考catti翻译证书,请问用什么电子词典比较好?请大家推荐下,谢谢!~ 外卖平台饿了么和美团哪个好? 成都祥和万嘉住房租赁有限公司这个中介怎么样 成都泰嘉诚房地产中介服务有限公司怎么样? 没有rgb接口的主板可以弄神光同步吗 重炮手rgb接口没反应 安康紫阳有疫情吗 如何替换QQ影音图标? 有“草船借箭”的背景故事吗?急用!!! 请输入有效的11位数字手机号码,或者包含区号的11位或12位数字座机号码 卧推是超等长训练吗 用多少度的水泡柠檬玫瑰花蜂蜜呢? ipad通过iphone蓝牙共享上网 ipad蓝牙共享网络给安卓 内蒙古的集宁市离呼和特市有多远 呼和呼特新冠有几种病毒 孩子们该不该唱歌