全站通知:
帮助:解析函数/listsort
刷
历
编
< 帮助:解析函数
跳到导航
跳到搜索
listsort是一个解析函数。帮助:解析函数页列出了所有解析函数的说明。
listsort
列表排序。出自扩展 ParserPower。
按字母、数字顺序排序、支持区分大小写和升降序。
语法
{{#listsort:
|list=
|insep=
|outsep=
|sortoptions=
|duplicates=
|token=
|tokensep=
|fieldsep=
|indextoken=
|pattern=
|template=
|subsort=
|subsortoptions=
|counttoken=
|intro=
|outro=
|default=
}}
核心参数:
- list: 列表。如
item 1,item 2,item 3
- insep: 可选,输入分隔符,默认逗号
,
。用于分割参数list
,构建列表
输出格式控制,可选:
- outsep: 输出分隔符,默认逗号。用作输出时列表项的分隔符。
- intro, outro: 输出时指定前置和后置内容,列表为空时不输出。用于避免在列表前后使用if来控制前后内容。
- counttoken: 占位符,用于在intro, outro参数中填充过滤后的列表项数量
- default: 过滤后列表如果为空时的输出。
列表项格式参数,可选:
- token, pattern: token作为占位符,pattern是带有占位符的wikitext,其解析结果将作为排序键
- indextoken: pattern中的token将被替换为(列表项的)序号而不是值
- tokensep, fieldsep: fieldsep是用于列表项的分隔符,此时token可指定多个占位符(默认分隔符是逗号,也可通过tokensep指定),pattern能单独针对列表项的一部分做格式控制
- template: 通过模板处理列表项,每个列表项被作为参数1传入模板。使用参数会忽略token、tokensep和pattern
- fieldsep: 列表项分隔符,将每个列表项分割为多个参数传入模板
排序参数,可选:
- sortoptions: 排序方式,值为以下的一个或多个选项:
- alpha 或 numeric: 按字母或数字排序,默认字母
- asc 或 desc: 升序和降序排序
- ncs 或 cs: 不区分大小写(ncs),或区分(cs),仅对alpha排序生效,默认不区分大小写
- duplicates: 重复值处理,值为以下选项之一:
- keep 保留重复值,默认
- strip 移除重复值
- subsort和subsortoptions: 对相同元素,当subsort设为yes时,按照subsortoptions选项排序(可用选项与sortoptions相同)
示例
{{#listsort:list=Apple,Orange,Banana,Banana|sortoptions=@|duplicates=strip}}
→ Apple, Banana, Orange
底层代码
实际用例
- 一些Wiki使用了相关特性,如下所示这个静态列表可能在下列页面更改后过时,仅供批判性参考。