This template selects a sub-string from the target string based on selected indices. The indices are 1-based. If the end index is omitted, it returns the rest of the string. One can also specify negative indices, in which case the substr is selected by counting from the end of the string.
Usage
{{str sub new|target_string|start_index|end_index}}
{{str sub new|s=target_string|i=start_index|j=end_index}}
Examples
Unnamed parameters
{{str sub new|1234567890|3|7}}
34567
{{str sub new|1234567890|3|-3}}
345678
{{str sub new|1234567890|3}}
34567890
{{str sub new|1234567890|12}}
String Module Error: String subset index out of range
Named parameters
{{Str sub new|s=abcd=fgh|i=3|j=7}}
cd=fg
Equivalent to:
{{#invoke:string|sub|s=abcd=fgh|i=3|j=7}}
cd=fg
Named parameters are required if the target string contains an equals sign , where unnamed or numbered parameters will not work as expected:
{{str sub new|abcd=fgh|3|7}}
String Module Error: String subset index out of range
{{str sub new|1=abcd=fgh|2=3|3=7}}
cd=fg
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