This template will allow manipulation or retrieve properties of an array list using a delimiter. It handles four functions: count, get, pos and math.
Usage
{{Array|<Function>|<Array items>|<Delimiter>|<Property>|Parameters (optional)}}
5th parameter only valid with pos function when limiting multiple outputs to a single position.
Functions
Count
Will count the total number of items in the array using the designated separator. Leading or trailing separators are not stripped.
{{Array |count|This is my array| }}
→ 4
{{Array |count|An,array,separated,by,commas|,}}
→ 5
{{Array |count|An,array,with,trailing,commas,|,}}
→ 6
Get
Will get the Nth item in the array, numeric value only. Can use negative value to work backwards. Last or -1 will get end item. Invalid value returns error.
{{Array |get|My,wiki,test,array|,|3}}
→ test
{{Array |get|A.list.of.dot.separated.items|.|2}}
→ list
{{Array |get|A sentence of typical words| |5}}
→ words
{{Array |get|The almost last item is nearly final| |-2}}
→ nearly
{{Array |get|The last item is final| |last}}
→ final
{{Array |get|Invalid input returns error| |foobar}}
→ void:invalid
Pos
Will retrieve the position in array of the search item. If duplicates are found, will output all positions delimited by comma. Output can be limited by specifying a 5th parameter.
{{Array|Pos|<Array items>|<Delimiter>|<Search Term>|<Nth occurrence> (optional)}}
{{Array |pos|A sentence of typical words| |sentence}}
→ 2
{{Array |pos|A.wiki.test.string.in.a.test.array|.|unmatched}}
→ void:nomatch
{{Array |pos|A.wiki.test.string.in.a.test.array|.|test}}
→ 3,7
{{Array |pos|Position,of,the,second,test,in,a,test,array|,|test|2}}
→ 8
{{Array |pos|2,4,6,6,7,11,12|,|7}}
→ 5
{{Array |pos|2,4,6,6,7,11,12|,|6|2}}
→ 4
Math
Will do calculations on the array items if all numeric. Options are sum (sum of all item numbers), min and max.
{{Array |math|2,4,6,6,7,12|,|sum}}
→ 37
{{Array |math|2,4,6,6,7,12|,|min}}
→ 2
{{Array |math|2,4,6,6,7,12|,|max}}
→ 12
{{Array |math|3.3.4.5.5.6|.|min}}
→ 3
{{Array |math|3.3.f.5.5.q|.|min}}
→ void:isalpha
See also
String-handling templates
(help page)
Substring (select chunk of string by its position)
{{str sub new }} Select a substring based on starting and ending index counted in either direction. {{str left }} Keep the first N characters of a string, or duplicate it to N characters. {{str crop }} Return all but the last N characters of a string. {{str index }} Return the N-th character of a string.
{{str right }} Return substring starting at N-th character to end of string. {{str rightc }} Return the last N characters of a string; or a given value if empty. {{str sub old }} Return substring of given length starting at N-th character.
Trimming (select/remove chunk of string by character type)
Select/remove specific item from string
{{delink }}, {{trim brackets }} Removes wikilink brackets (wikicode); all or outer only . {{Plain text }} Removes wikicode (formatting and brackets) {{PAGENAMEBASE }} Trim off any parenthesis text at the end of a string (disambiguation). {{title disambig text }} Returns text in parentheses at the end of a string (disambiguation).
{{title year }} Returns the 3-or-4-digit year from a pagename, if any. {{title decade }} Returns the 4-digit decade from a pagename (e.g. "1740" from "Foo 1740s bar"), if any. {{title number }} Returns any number from a pagename. {{WikiProjectbasename }} Removes "WikiProject" from a pagename.
Insertion, replacement and length
{{loop }} Repeat character string a specified number of times. {{replace }} Returns the string, after replacing all occurrences of a specified string with another string. {{str rep }} Returns the string, after replacing the first occurrence of a specified string with another string. {{digits }} Returns the string, after removing all characters that are not digits 0–9 {{Nowiki }} Displays wikitext as plain text.
{{str len }} Returns a string's length. {{str ≥ len }} Check if a string is "longer or equally long" or "shorter" than a given length. {{str ≤ len }} Check if a string is "shorter or equally long" or "longer" than a given length. {{str ≠ len }} Check if a string is "not equal" or "equal" to a given length.
Analysis and searching
{{Array }} Array item manipulation and retrieval. {{a or an }} Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel. {{in string }} Returns optional string when given string is not found {{Isnumeric }} Returns number when true, blank when not numeric. {{str letter }} Returns the number of letters that begin a string. {{str number }} Returns the number of numbers that begin a string.
Modules and built-in functions