This template uses Lua :
This string handling template returns the number of times that a pattern or search-string occurs in a source string. Counts non-overlapping matches only.
{ { Str count| source string| pattern| plain_flag} }
If there is no occurrence of the source string in the pattern, this template returns 0.
There are three parameters; the first two are required:
|source = – the source string. Required; alias: |1 =.
|pattern = – the search-string or pattern to look for in the source string. Required; alias: |2 =.
|plain = – a boolean flag indicating that pattern should be understood as plain text and not as a Scribunto ustring pattern (a unicode-friendly Lua -style regular expression ). Optional; default: true.
{ { str count | aabbacccaddaeeeeaffff| a} } → 5
{ { str count | 0123456789ABCDEF| X} } → 0
{ { str count | Wikipedia:Manual of Style/Words to watch| :} } → 1
{ { str count | Wikipedia:Manual of Style/Words to watch| a} } → 4
{ { str count | abababa| aba} } → 2 // counts non-overlapping occurrences (matches must be disjoint)
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
{ { ship prefix } } Returns the length of a ship's name prefix, if listed (ship names). { { title year } } Returns the 3-or-4-digit year from a pagename, if any. { { title decade } } Returns the 4-digit decade (e.g. "1740s") from a pagename, if any. { { title number } } Returns any number 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
{ { 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