模板:Split

来自维阿百科
1.38>牛腩面2022年7月4日 (一) 13:34的版本 (创建页面,内容为“<includeonly>{{#invoke:split|main|str={{{1|{{{str|}}}}}}|ptn={{{2|{{{ptn|}}}}}}|name={{{3|{{{name|}}}}}}|reg={{{reg|}}}}}</includeonly><noinclude>{{doc}}</noinclude>”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航搜索
Template-info.png 模板文档  [查看] [编辑] [历史] [刷新]

简介

这个模板将按传入的参数分割字符串,并使用多个变量逐一保存,多是用于模板之中。

用法

{{Split
|str= 需要分割的字符串
|ptn= 用于分割的字符或正则表达式,支持以<nowiki>标签包裹的格式传入
|name= 分割后的各部分的变量前缀,默认为foo
|reg= 为“on”时,启用正则模式
}}

其中:

  • {{#var:变量前缀(n)}}保存着分割得到的字符串。
  • {{#var:变量前缀.count}}保存着分割得到的字符串总数。
  • str、ptn和name也分别对应匿名参数1、2、3

示例

示例1

{{Split|Hello,world!|,}}
分段1:{{#var:foo1}}

分段2:{{#var:foo2}}

分割得到的字符串总数:{{#var:foo.count}}

分段1:Hello

分段2:world!

分割得到的字符串总数:2

示例2

{{Split|str= a123b456c|ptn= %d+|reg=on}}
分段1:{{#var:foo1}}

分段2:{{#var:foo2}}

分段3:{{#var:foo3}}

分割得到的字符串总数:{{#var:foo.count}}

分段1:a

分段2:b

分段3:c

分割得到的字符串总数:3

示例3

{{Split|萌娘百+欢迎+科!++来到|+|str}}
{{#var:str2}}{{#var:str5}}{{#var:str1}}{{#var:str3}}

分割得到的字符串总数:{{#var:str.count}}

欢迎来到萌娘百科!

分割得到的字符串总数:5

(因为其中有一处连续的加号,{{#var:str4}}被赋予了一个空字符串)

示例4

在模板中,利用此模板将接收到的一个约定格式的字符串分割,作为多个参数使用。因为是模板,所以这里无法作出演示。

{{#fornumargs: num | value
|{{split|{{#var:value}}|,}}
{{ruby|{{#var:foo1}}|{{#var:foo2}}}}
}}