社区文档构建进行中,欢迎编辑。社区答疑群(非官方):717421103
帮助:解析函数/sub
字符串截取
出自扩展 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使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时,仅供批判性参考。
- 模板:新版活动日历/行 - 另一个伊甸
- 模板:回忆图鉴 - 突击莉莉终结之弹
- 模板:莉莉服装图鉴 - 突击莉莉终结之弹
- 模板:商城刷新 - APEX
- 模板:模组/个 - 明日方舟
- 模板:关卡图鉴 - 碧蓝航线
- 模板:鱼雷图鉴 - 碧蓝航线
- 模板:连载漫画 - 猫之城
- 模板:文章时效 - 封印者
- 模板:最后更新 - 克鲁赛德战记