2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Template:Replace

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模板文档  [查看] [编辑] [历史] [刷新]

简介

该模板根据传入的正则表达式对字符串进行替换,并返回相应的捕获物以及匹配次数。

用法

{{replace|str= 字符串(string)|ptn= 正则(pattern),支持以<nowiki>标签包裹的格式传入
|rep= 要替换的内容(replace),默认为直接替换掉(也就是替换为空)
|spl= 捕获物间隔符(split),默认为顿号
|lim= 匹配次数限制(limit),默认无限制
|ori= 匹配的字符串起点(origin),默认为从头匹配
|noprint= 为“true”时,不输出匹配结果,改为将结果赋给变量“result”
}}

其中,捕获物保存在变量result.capture中,匹配次数保存在变量result.count中。

捕获物默认为正则表达式中第一个子表达式,若未定义,则为匹配到的整个子串。

以上列出的参数除noprint也一一对应匿名参数1~6,注意命名参数与匿名参数不要混用。

由于用来存储结果的变量名都是固定的,请在获得结果后立即使用或转存到其他变量中。

示例

示例1

{{replace|str=1@2@3|ptn=@|rep=、}}

{{#var:result.count}}

{{#var:result.capture}}

结果

1、2、3

2

@、@

示例2

{{replace|str=1,2,3|ptn=(%d)|rep=数字|spl= =>|noprint=true}}
{{#var:result.count}}

{{#var:result.capture}}

{{#var:result}}

结果


3

1=>2=>3

数字,数字,数字

示例3

{{replace
|str=早晨,[[香风智乃|智乃]]叫醒呼呼大睡的[[保登心爱|心爱]]后吃了早饭,叫上[[天天座理世|理世]]一起去拜访[[宇治松千夜|千夜]]的[[甘兔庵]]。
|ptn=%[%[.-%]%]
|noprint=true
}}<!--
-->{{split|{{#var:result.capture}}|、|link}}<!--
-->这个句子中共出现了{{#var:result.count}}个链接,它们分别是:{{loop|time=1|{{#var:result.count}}
|do=<nowiki>'''{{#var:link{{#var:time}}}}'''、</nowiki>
}}

这里实现了一个收集字符串中的链接并加粗后重新显示的功能。

结果: 这个句子中共出现了5个链接,它们分别是:智乃心爱理世千夜甘兔庵