美文网首页
如何用一行代码替换动态词组?

如何用一行代码替换动态词组?

作者: 极无宪 | 来源:发表于2021-07-21 21:07 被阅读0次

如果是查询固定词汇的替换,我们都是先查找,然后替换。
比如:查找“我们”在下面的句子里面,把他替换为“我”

微软Xbox部门负责人菲尔•斯宾塞表示:“我认为在Xbox的发展历史上,目前我们正在开发的游戏很大可能比以往任何时候都多。” 菲尔•斯宾塞说到:“无论是订阅平台、硬件设备还是游戏商店的平台经营者,都在积极地投资新颖、但可能风险较以往更大的东西,因为如果新的投资内容可行,我们就能吸引更多新玩家进入游戏平台,维持游戏平台生态系统的正常运转并从中获得价值。”

代码很简单

string s=@"微软Xbox部门负责人菲尔•斯宾塞表示:“我认为在Xbox的发展历史上,
目前我们正在开发的游戏很大可能比以往任何时候都多。” 菲尔•斯宾塞说到:“
无论是订阅平台、硬件设备还是游戏商店的平台经营者,
都在积极地投资新颖、但可能风险较以往更大的东西,
因为如果新的投资内容可行,
我们就能吸引更多新玩家进入游戏平台,维持游戏平台生态系统的正常运转并从中获得价值。”";

var result=s.Replace("我们","我");

如果我们要替换的数据不是固定,而是有一定的规则,比如下面这个《反兴奋剂管理办法》中,我们希望在每一条条例前面加2个#号。

《反兴奋剂管理办法》已于2021年7月14日经国家体育总局第12次局长办公会审议通过,现予公布,自公布之日起施行。
第一条为了防止在体育运动中使用兴奋剂,保护体育运动参与者的身心健康,维护体育竞赛的公平竞争,维护国家荣誉和形象,弘扬社会主义核心价值观和中华体育精神,规范反兴奋剂工作,根据《中华人民共和国体育法》《反兴奋剂条例》等法律法规,制定本办法。
第二条本办法所称兴奋剂,是指年度《兴奋剂目录》所列的禁用物质和禁用方法。
本办法所称兴奋剂违规包括以下情形:
(一)检测结果阳性;
(二)使用或企图使用兴奋剂;
(三)逃避、拒绝或未能完成样本采集;
第三条体育运动中的反兴奋剂工作,适用本办法。
第四条反兴奋剂工作坚持“零容忍”,坚持严令禁止、严格检查、严肃处理的方针,推动构建“拿干净金牌”的反兴奋剂长效治理体系。
反兴奋剂工作遵循以下原则:
(一)预防为主,惩防并举;
(二)公平、公正、公开;
(三)维护运动员和辅助人员合法权益。

普通替换思路是通过正则表达式找出开头包含“第x条”的字符。

var input="输入要替换的内容。。。"
var matches=Regex.Matches(input,"第.条");
foreach(var match in matches){
  input=input.Replace(match.Value,"##"+match.Value);
}

还有没有更好的方法呢?
其实是有的,那就是直接使用正则表达式的替换方法。

var input="输入要替换的内容。。。"
var matches=Regex.Replace(input,"(?第.条)","##$1");//$1代表的是正则表达式匹配到的第一组,如果有第二组用$2表示,以此类推

这样就从上面的3行代码变成一行代码。
你学会了吗?
参考:
【1】https://docs.microsoft.com/zh-cn/dotnet/standard/base-types/substitutions-in-regular-expressions

相关文章

  • 如何用一行代码替换动态词组?

    如果是查询固定词汇的替换,我们都是先查找,然后替换。比如:查找“我们”在下面的句子里面,把他替换为“我” 微软Xb...

  • 网页变灰效果实现!

    如何用一行代码实现网页变灰效果? 文章 摘抄于 菜鸟教程 如何用一行代码实现网页变灰效果? 网站变灰 这个样式名叫...

  • Linux-vim替换命令

    写代码时,难免需要替换一些字符串,vim的替换命令如下: #替换每一行的第一个a:%s/a/b/ #全部替换:%s...

  • 省时省力替换html的文本

    有份html代码需要把里面的文案都替换成其它语言的(翻译已经提供),如果一行一行替换的话,估计需要1个小时,因为还...

  • Python 碎片知识/趣味问题

    如何用一行python代码将[true, false, false, true, true] 转成 [0,3,4]...

  • Android利用Gradle多渠道打包如何动态替换资源,文字

    动态替换APP logo 首先我们在app的build.gradle下面加入如下代码,以oem1为示例, 以上代码...

  • ios常用第三方库

    1.基本流程 适配 Masonry SDAutoLayout一行代码搞定动态自动布局! TBFontAdjust ...

  • iOS RunTime 理解

    可以遍历对象的属性 可以动态的添加、修改属性,动态添加、修改、替换方法,动态添加、修改、替换协议 可以动态创建类、...

  • iOS Runtime学习(三) -- 简单使用篇

    一、前言 runtime功能很强大,本文简单的介绍几个实用的小功能,如动态添加属性,动态添加方法,方法替换,字典转...

  • iOS 中常用的第三方库总结

    1.基本流程 适配MasonrySDAutoLayout一行代码搞定动态自动布局!TBFontAdjust 网络监...

网友评论

      本文标题:如何用一行代码替换动态词组?

      本文链接:https://www.haomeiwen.com/subject/wlcsmltx.html