From Wikipedia, the free encyclopedia
1
This template is used on approximately 282,000 pages . To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage . The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them.
This template uses Lua :
Usage
{ { Str find| text | sub_string } }
Returns the position of first appearance of sub_string in text .
The comparison is case sensitive.
Returns -1 if sub_string not found
Character position is 1 based (not 0 based as usual in calculations).
If sub_string is empty, this routine returns 1. This case will often have to be handled specially.
Examples
In the examples, the string to be searched is Abcdefghijklm:
A; 1
a; -1
def; 4
klm; 11
zyx; -1
Examples with empty parameters:
empty;klm; -1
empty;empty; 1
TemplateData
Template parameters[ Edit template data ]
Parameter Description Type Status Text 1The text to search within
String required Sub_string 2The string to be searched within the text
String required
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