社区文档构建进行中,欢迎编辑。社区答疑群(非官方):717421103

全站通知:

帮助:解析函数/sub

来自WIKI实验室WIKI_BWIKI_哔哩哔哩
跳到导航 跳到搜索

字符串截取

出自扩展 ParserFunctions 的String functions大规模使用时性能低下,推荐使用Lua模块。请参考扩展置顶警告MediaWiki代码库 r51497中的暴论“parsers in the ugliest, most inefficient programming language known to man: MediaWiki wikitext with ParserFunctions.”、“WARNING: enabling this may have an adverse impact on the sanity of your users.”

格式
{{#sub: 字符串|起始位置|长度}}
例子
如果'起始位置'参数为正数(或者为零),按首字符的'位置'为'0'的规则,返回相应的字串:
{{#sub:Icecream|3}}
cream
{{#sub:Icecream|0|3}}
Ice
如果'起始位置'参数为负数,则从字串末尾开始,返回相应长度的的字串:
{{#sub:Icecream|-3}}
eam
'长度'参数如果出现,并且为正数,则表示返回字串的最大长度:
{{#sub:Icecream|3|3}}
cre
如果'长度'参数为负数,则表示从字串末尾略去几个字符:
{{#sub:Icecream|3|-3}}
cr
注意
如果'长度'参数是零,则不会起作用:
{{#sub:Icecream|3|0}}
cream
如果'起始位置'参数指定的位置,落在负的'长度'参数所略去的字符上,则会返回空字串:
{{#sub:Icecream|3|-6}}
(空字串)
此函数兼容UTF-8多字节字符,如:
{{#sub:Žmržlina|3}}
žlina
如同len一样,
<nowiki>
等标签扩展,不计长度,也不占'位置',如:
{{#sub:
<nowiki>This is a</nowiki>
test|0}}
test


实际用例
一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时仅供批判性参考