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

C#字符串查找与替换技术详解及实战 在配置文件解析中,经常遇到键重复的情况,要求取最后一次赋值:log=info;= -1)?// false逻辑分析:先找最后一个"debug=";计算值起始位置;再找后续第一个分号确定结束位置;若无分号则取到字符串末尾。此逻辑实现了类似 INI 文件的“后声明覆盖先声明”语义。 阅读详情
C# 利用正则表达式进行忽略大小写的字符串替换的应用--自定义高亮显示
    在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式。
 
要使用正则表达式,首先需要引用命名空间:
using System.Text.RegularExpressions;
然后,非常简单,使用:
Regex.Replace(字符串,要替换的子串,替换子串的字符,RegexOptions.IgnoreCase)
就可以达到目的了,其中最后的参数RegexOptions.IgnoreCase即为指明忽略大小写
 
但是,我现在要为一组字符串中的所有匹配的子字符串加上高亮显示(就是让它的字体样式和字符串其它的部分不一样),用下面的语句在字符串两端插入html标签,确实可以实现高亮,但高亮显示的就成了搜索子串的搜索字符串了,大小写与原文有差异。
 
打个比方:我在"第十三种Asp.net实现"中搜索的keyString为"asp",替换后的字符串就成了"第十三种<span class="Highlight">asp</span>.net实现",而不是希望的"第十三种<span class="Highlight">Asp</span>.net实现"
DocumentResume[i]=Regex.Replace(hitDoc.Get("resume"),keyString,"<span class=/"Highlight/">"+keyString+"</span>",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<m.Count;j++)//循环在匹配的子串前后插东东
    {

     //j×31为插入html标签使pain字符串增加的长度:
     pain=pain.Insert((m[j].Index+keyString.Length+j*31),"</span>");//关键字后插入html标签
     pain=pain.Insert((m[j].Index+j*31),"<span class=/"Highlight/">");//关键字前插入html标签
    }

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

<STYLE type=text/css>
<!-- .Highlight {
color: #00FFFF;
font-style: italic;
font-size: larger;
} -->
</STYLE>
 
VS2022如何兼容老项目?.NET Framework 4.0/4.5安装避坑指南 本文提供了在Visual Studio 2022中兼容和维护.NET Framework 4.0/4.5等老旧项目的完整解决方案。针对VS2022无法直接识别旧框架的核心问题,文章详细剖析了原因,并重点推荐通过官方NuGet包安全获取引用程序集的方法,给出了从下载、解压到部署至标准目录的详细步骤。同时,文章还深入探讨了项目文件格式过旧、NuGet包还原失败等进阶问题的排查与解决策略,旨在帮助开发者高效、稳定地在现代开发环境中维护历史代码库。 阅读详情

相关推荐

SORT算法在遮挡下总跟丢?深入OC-SORT源码,拆解其三大创新点如何解决卡尔曼滤波的顽疾

本文深入解析OC-SORT算法如何通过三大创新点解决多目标跟踪中的卡尔曼滤波顽疾。OC-SORT引入在线平滑虚拟轨迹技术(OOS)、观测中心动量匹配机制(OCM)和基于最后观测的轨迹恢复(OCR),显著提升了遮挡场景下的跟踪性能。实验数据显示,相比传统SORT算法,OC-SORT在MOT17数据集上MOTA提升5.7%,遮挡恢复成功率提高64.2%,为Multi-Object Tracking领域带来突破性进展。

weixin_42547431的博客 238

【C#进阶三】C#正则表达式的使用及常用案例(Regex.IsMatch、Regex.Match,match.NextMatch、Regex.Matches、Regex.Replace等)(实践篇)

通过调用 Regex 类的静态方法。 方法参数包含输入字符串和正则表达式模式。 正则表达式引擎会缓存静态方法调用中使用的正则表达式,这样一来,重复调用使用同一正则表达式的静态正则表达式方法将提供相对良好的性能。 通过实例化Regex 对象,采用的方式是将一个正则表达式传递给类构造函数。...

QHCV的博客 5965

基于Cesium的北斗卫星轨道实时可视化系统开发实践

本文详细介绍了基于Cesium的北斗卫星轨道实时可视化系统开发实践,涵盖系统架构设计、轨道计算实现、后端服务开发及前端可视化实现等关键环节。通过优化算法和数据流设计,系统实现了厘米级精度的卫星轨道实时渲染,适用于导航卫星系统的科研与工程应用。

j7k8l的博客 520

C#忽略字符串大小写

C#忽略字符串大小写----StringComparison.CurrentCultureIgnoreCase

学习之路,创业之光 3751

Frida实战:高效dump Android内存中的so文件与修复技巧

本文详细介绍了使用Frida工具dump Android内存中已解密so文件的实战技巧。针对加固应用静态分析失效的痛点,文章提供了从环境搭建、使用frida_dump脚本自动化抓取内存数据,到利用SoFixer工具修复ELF文件结构的完整流程,帮助逆向分析人员高效获取可分析的so文件。

tt34567的博客 527

Multisim 14.0元件库下载权威指南:官方与社区资源

详解Multisim元件库下载的官方途径与可靠社区资源,帮助用户快速获取Multisim 14.0所需元件模型,提升电路仿真效率。

weixin_32925455的博客 747

C#正则表达式的完全匹配、部分匹配及忽略大小写的问题

正则表达式解决各种数学函数中完全匹配、部分匹配及忽略大小写的问题。

祝紫山(大可山人)博客[GDI+,WPF, .Net图形图像] 1万+

图文:银行核心账务处理逻辑(白话篇)

银行账务系统分为对内账(记录银行自身资产负债)和对外账(处理客户交易),通过特定编码规则的账号体系进行管理。采用T型账户结构和凭证制度确保每笔交易可追溯,通过明细核算与综合核算双线并行、每日轧账核对(科目日结单、总账、日计表)实现账务精准平衡。从业务触发到最终账平的全流程体现了银行账务"分层记录、双向核对、闭环校验"的核心原则,保障资金流动的透明性与安全性。

银行信息系统应用架构详解 539

C# 利用正则表达式进行忽略大小写的字符串替换的应用--自定义高亮显示

C# 利用正则表达式进行忽略大小写的字符串替换的应用--自定义高亮显示

nutian的专栏 4667

Unity Shader之路(一)什么是Unity Shader?

Unity Shader前言什么是UnityShaderUnity Shader和材质的关系 前言 众所周知,要想当游戏开发工程师,Unity中的Shader编写不得不摸,这一系列文章我将描写我的Shader学习之路,致敬冯乐乐的书Unity Shader入门精要,此篇什么是Unity Shader?希望能给后人一点方向 我们刚开始接触Unity的时候,总是会遇到材质,但是不了解材质都是什么,为什么可以在很多材质中选择,为什么有时候选择了其他材质后就不能达到我们想要的结果,为什么资源商店有那么多的材质,山.

TurboQ珞珈 2237

SAPIEN ManiSkill3 入门教程(一)

请注意,table.set_pose(pose) 设置的是演员在世界帧中的坐标系姿势。移除的实体可以再次添加到场景中,但已在场景中的实体则不能再次添加。显示器可以是物理的(如显示器),也可以是虚拟的(如 VNC)。我们可以通过 get_pose()、get_linear_velocity() 和 get_angular_velocity()获取演员的运动量(姿势、线速度、角速度)。现在,让我们创建一个斜坡。例如,您可能需要一个简单的碰撞形状来进行快速模拟,但却需要一个复杂的视觉形状来进行逼真的渲染。

机器人控制与仿真应用 3072

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

<br /> <br /><br /><br />  在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式。<br />  要使用正则表达式,首先需要引用命名空间:<br />以下是引用片段:<br />  usingSystem.Text.RegularExpressions;<br />  然后,非常简单,使用:<br />以下是引用片段:<br />  Regex.Replace(字符串,要替换的子

朩冰雲的专栏 1540

Open3D 读取、保存、显示点云【2025最新版】

paint_uniform_color给所有的点上一个统一的颜色。博客长期更新,本文最近更新时间为:2025年1月1日。

点云侠的博客 37万+

C# 利用正则表达式进行忽略大小写的字符串替换的应用--自定义高亮显示

C# 利用正则表达式进行忽略大小写的字符串替换的应用--自定义高亮显示 在C#里要进行忽略大小写的字符串替换,用string的Replace是很难做到的,即使花了天大的力气做到了,效率仍然是很低的,正确的方法应该是使用正则表达式。 要使用正则表达式,首先需要引用命名空间: using System.Text.Reg...

weixin_30314631的博客 113

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

c# 字符串替换 忽略大小写

昨天写了个一个小工具用来批量修改系统的配置文件内容,具体工作就是工具启动后会将指定目录下所有*.config文件进行字符串替换,将其中特定标记的字符串替换为目标字符串。功能很简单,由于特定标记中包含字母,所以涉及大小写问题,而String的Replace()函数是无法忽略大小写的,所以得用一些其他方法。     实现忽略大小写字符串替换的方法不少,凭着个人的经验,我首先选择了Regex。当然

小妖鬼鬼 4106

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

C# string Replace方法 文本替换忽略大小写的方法

String.Replace Method 定义 命名空间:System Assemblies: System.Runtime.dll, mscorlib.dll, netstandard.dll 返回一个新字符串,其中已将当前字符串中的指定 Unicode 字符或 String 的所有匹配项替换为其他指定的 Unicode 字符或 String ...

每天都有新发现 6491

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

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

IcyCoffee 1291

C#忽略大小写的字符串替换(Replace)函数

<br />主题<br />在.NET中,不调用C++/CLI,进行字符串替换有好几种方法:<br />1、最常用的,就是String实例.Replace(),但这个不能忽略大小写。<br />2、System.Text.Regex(Regular Expression正则表达式),大家都估计到它的效率不高,虽然它支持忽略大小写。<br />3、String.SubString()循环,查找要替换的子字符串的位置,截取,然后字符串相加,大家也估计到,数量少(在codeproject.com上曾有文章讨论过和

yingjiell的专栏 1264

python正则表达式忽略大小写_RegexOptions.IgnoreCase正则表达式替换,忽略大小写

RegexOptions.IgnoreCase正则表达式替换,忽略大小写////////////////////////////string inputstr = "@{AbcD},@{bbbb},@{ABcd}";string pmType = "@";string regTxt = (pmType + "\\s*\\{\\s*" + "abcd" + "\\s*\\}").Replace("(...

weixin_39623350的博客 1071

C#不区分大小写的字符串替换(Replace)

在.NET中,不调用C++/CLI,进行字符串替换有好几种方法: 1、最常用的,就是String实例.Replace(),但这个不能忽略大小写。 2、System.Text.Regex(Regular Expression正则表达式),大家都估计到它的效率不高,虽然它支持忽略大小写。 3、String.SubString()循环,查找要替换的子字符串的位置,截取,然后字符串相加,大...

auxv18104338的博客 795

C#字符串替换_无视大小写

源代码翻译工具基本完成了,只剩下最后问题:就是对字符串进行替换时,怎么无视原文的大小写。因为C#里的string.Replace是不能无视大小写的。首先想到的是正则表达式,在网上查了下,果然有用正则表达式配合一些逻辑运算,实现无视大小写的字符串替换方法。但是正则表达式的方法用起来很麻烦,实验证明速度也不是最快。而我要说的是用起来最方便,执行速度也是最快的一种。就是使用Microsoft.VisualBasic命名空间里的Strings。首先添加引用Microsoft.VisualBasic.Dll引入命名空

qyc898的专栏 7414

python中find函数忽略大小写_Python字符串比较忽略大小写的方法

原博文2011-11-11 16:06 −A.正则表达式,使用IGNORECASE标志 >>> import re >>> m = re.search('multi', 'A mUltiCased string', re.IGNORECASE) >>> bool(m) True B...01099相关推荐2005-06-30 15:48 −关键字:.NET,String,Replace,字符串,替...

weixin_39938746的博客 401

[C#]正则表达式

正则表达式是形成搜索模式的一系列字符。正则表达式可用于检查字符串是否包含指定的搜索模式。也可以进行字符串的替换和提取。本文主要介绍C# 正则表达式。

FL1768317420的博客 2245

高效的忽略大小写的字符串替换(Replace)函数(多种方法比较)

高效的忽略大小写的字符串替换(Replace)函数(多种方法比较) 关键字:.NET,String,Replace,字符串,替换,忽略大小写,VB,Regexp,Regular Expression,正则表达式,Reflector,Run-Time,运行时,StringBuilder,效率前言在开发中,我们要常和各种不同类型的信息打交道,无论是数据库中的信息还是网络的、甚至财务的数据,最终

geruger的专栏 3079
上一篇: 利用XSL对XML数据进行加密和大小写转换
下一篇: HTTP深入浅出--http请求
SmartJavaer
博客等级 码龄21年 13粉丝 37原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值