模板:Replace
模板頁面
更多語言
更多操作
簡介
該模板根據傳入的正則表達式對字符串進行替換,並返回相應的捕獲物以及匹配次數。
用法
{{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=《'''{{lj|パーフェクト生命}}'''》(完美生命)是{{lj|[[ナユタン星人]]}}于2015年10月6日投稿至[[niconico]]、后分别转投至YouTube和bilibili的[[VOCALOID]]日文原创歌曲,由[[初音未来]]演唱。该曲是{{lj|ナユタン星人}}投稿的第四首曲子,目前该曲收录在第一部专辑{{lj|[[ナユタン星からの物体X]]}}中。
|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個連結,它們分別是:ナユタン星人、niconico、VOCALOID、初音未來、ナユタン星からの物體X、