This template uses Lua :
This template wraps the function {{#invoke:String |find|...}}
, and provides the extra option to return an alternative string (including a blank string) when nothing is found.
Usage
{{In string|source_string |target_string |start_index |plain_flag |nomatch_returntext }}
or
{{In string|source=source_string |target=target_string |start=start_index |plain=plain_flag |nomatch=nomatch_returntext}}
{{In_string
|source=
|target=
|start=
|plain=
|nomatch=
}}
By default, when the target is not found, 0
is returned.
Set |nomatch=anytext
to replace that 0
. Also, |nomatch=
<blank> returns blank not 0.
Note: outer spaces are not conserved.
Using the nomatch option
{{#if:{{in string|source=pancake|target=pizza|plain=true|nomatch=}}|Is a pizza|Not a pizza}} → Not a pizza
{{#if:{{in string|source=Hawaiian pizza|target=pizza|plain=true|nomatch=}}|Is a pizza|Not a pizza}} → Is a pizza
Examples
{{In string|abc123def }}
→ 0
{{In string|source= abc123def }}
→ 0
{{In string|abc123def |123}}
→ 4
{{In string|source= abc123def |target= 123 }}
→ 4
{{In string|abc123def |%d|3|false}}
→ 4
{{In string|source= abc123def |target= %d |start= 3 |plain= false }}
→ 4
nomatch=xxx
{{In string|abc123def |nomatch=xxx}}
→ xxx
{{In string|source= abc123def |nomatch=xxx}}
→ xxx
{{In string|abc123def |123|nomatch=xxx}}
→ 4
{{In string|source= abc123def |target= 123 |nomatch=xxx}}
→ 4
{{In string|abc123def |%d|3|false|nomatch=xxx}}
→ 4
{{In string|source= abc123def |target= %d |start= 3 |plain= false |nomatch=xxx}}
→ 4
nomatch = blank
{{In string|abc123def |nomatch=}}
→
{{In string|source= abc123def |nomatch=}}
→
{{In string|abc123def |123|nomatch=}}
→ 4
{{In string|source= abc123def |target= 123 |nomatch=}}
→ 4
{{In string|abc123def |%d|3|false|nomatch=}}
→ 4
{{In string|source= abc123def |target= %d |start= 3 |plain= false |nomatch=}}
→ 4
module Examples
{{#invoke:String|find|abc123def }}
→ 0
{{#invoke:String|find|source= abc123def }}
→ 0
{{#invoke:String|find|abc123def |123}}
→ 4
{{#invoke:String|find|source= abc123def |target= 123 }}
→ 4
{{#invoke:String|find|abc123def |%d|3|false}}
→ 4
{{#invoke:String|find|source= abc123def |target= %d |start= 3 |plain= false }}
→ 4
Template data
Template data
<templatedata>
{
"params": {
"1": {},
"2": {},
"3": {},
"4": {},
"source": {},
"target": {},
"start": {},
"plain": {},
"nomatch": {}
}
}
</templatedata>
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
{{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).
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
{{str startswith }} {{str endswith }} Check if a string starts or ends with a given string. {{str find }}, {{strfind short }} Returns the numerical location of a given string in a string. {{in string }} Returns optional string when given string is not found {{str count }} Count the number of occurrences of a pattern within a string.
{{a or an }} Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel. {{Array }} Array manipulation and retrieval. {{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