首页 > 编程语言 >c# 正则表达式 替换重复文字

c# 正则表达式 替换重复文字

时间:2023-07-26 14:46:18浏览次数:27  
标签:Regex c# Value Replace content 正则表达式 替换

类似【第1章 第 1 章】只保留一个【第1章】

//这个写法可以调试
content = Regex.Replace(content, "\n\n第\\d章(?<chapter>.*第.*\\d.*章)\n\n", (o) => {
    return o.Value.Replace(o.Groups["chapter"].Value, "");
});
content = Regex.Replace(content, "\n\n第\\d章(?<chapter>.*第.*\\d.*章)\n\n", o => o.Value.Replace(o.Groups["chapter"].Value, ""));

 

 一开始用了这个,替换后的字符串颜色不是正则表达式的,替换出来以后【第\\d章】,第三个参数也要换成正则表达式的

查看定义还有这几个替换方法

public static string Replace(string input, string pattern, MatchEvaluator evaluator); 找了这个方法可以,用法:https://blog.csdn.net/m0_63120843/article/details/130843529

字符串去重的,https://blog.csdn.net/cathyhaibara/article/details/45097601,有str_leader = Regex.Replace(str_leader + ",", @"(?:([^,]+,))(?=.?\1)", "");没看明白,https://www.cnblogs.com/kgtone/p/11832492.html,和这个网页的 ^(.*?)$\s+?^(?=.*^\1$) 有点类似

 

标签:Regex,c#,Value,Replace,content,正则表达式,替换
From: https://www.cnblogs.com/fangxinliu/p/17582382.html

相关文章

  • software breakpoint、hardware breakpoint、watchpoint
    参考:08调试利器GDB(下)https://www.cnblogs.com/lh03061238/p/13177510.html使用GDB进行断点调试  https://www.cnblogs.com/-glb/p/12514577.htmlbreakpoint和watchpoint的区别 https://www.jianshu.com/p/9462a5280004Aboutbreakpointsandwatchpoints  https://www.c......
  • Spring 中的 @Cacheable 缓存注解,太好用了!
    1什么是缓存第一个问题,首先要搞明白什么是缓存,缓存的意义是什么。对于普通业务,如果要查询一个数据,一般直接select数据库进行查找。但是在高流量的情况下,直接查找数据库就会成为性能的瓶颈。因为数据库查找的流程是先要从磁盘拿到数据,再刷新到内存,再返回数据。磁盘相比于内存来......
  • CS5466单芯片集成TypeC转HDMI 8K30HZ(4K144HZ)芯片方案原理图
    CS5466支持USBType-C输入,HDMI2.1输出·HDMI输出48Gbps(FRL,12G4Lane)·支持4K@120Hz格式·支持DSC·支持音频SPDIF/I2S/HBR/DSD/TDM格式。内部集成了PD3.0及DSCdecoder,可支持DP2Lane8K30或4K144,并能按客户需求配置成不同的功能组合。CS5466是一款Type-C转HDMI8K30HZ或者......
  • 这个飞入寻常百姓家的CNS必备技术学起来!
    福利公告:为了响应学员的学习需求,经过易生信培训团队的讨论筹备,现决定安排扩增子16S分析、宏基因组、Python课程、转录组线上直播课。报名参加线上直播课的老师可在365天内选择参加同课程的一次线下课。期待和大家的线上线下相识。转录组线上直播时间:2020/4/16-2020/4/18宏基因组线......
  • GET chrome-extension://invalid/ net::ERR_FAILED是什么错误
    GETchrome-extension://invalid/net::ERR_FAILED是什么错误错误信息"GETchrome-extension://invalid/net::ERR_FAILED"通常表示在Chrome浏览器中发生了一个资源加载失败的问题。该错误信息表明浏览器尝试获取一个Chrome扩展(chrome-extension)中的资源,但该资源的URL地址是无效......
  • git clone报错:HTTP Basic: Access denied
    解决方案:打开控制面板-用户账户-凭据管理器,修改此凭据或者添加,即可解决。......
  • 【Java异常】Variable used in lambda expression should be final or effectively fi
    https://blog.csdn.net/weixin_44299027/article/details/117333667*lambda表达式中使用的变量应该是final或者有效的final*,也就是说,lambda表达式只能引用标记了final的外层局部变量,这就是说不能在lambda内部修改定义在域外的局部变量,否则会编译错误......
  • uniCloud——study
    目录uniCloud——study一、如何创建项目(1)测试阿里云云服务系统二、创建云数据库/数据表(1)如何创建数据库/数据表(2)在云函数中请求数据库(3)在客户端请求服务器发送过来的数据(4)连接数据库发送count请求(5)连接数据库发送add请求(6)批量插入add请求(7)客户端在表单中添加数据传给服务器案例(8)用......
  • CentOS7调整磁盘分区
    进入系统后,使用df-h命令查看分区和磁盘使用情况。此时/home目录的磁盘空间需要移除,全部分给/root目录(也就是cl-root)。df-h  使用fdisk-l查看物理磁盘挂载情况。  调整分区前正常是要备份数据的,可参考如下操作。但是新装系统没有什么数据的情况,可以不要数据,直......
  • IfcModulusOfRotationalSubgradeReactionSelect
    IfcModulusOfRotationalSubgradeReactionSelect 类型定义 Ameasureformodulusofrotationalsubgradereactionwhichexpressestherotationalbeddingofastructuralcurveitemperlength.TRUEdenotesinfinitestiffness(rigidity).FALSEdenotesnostiffn......