Frá Wikipedia, hin frælsa alfrøðin
The Template:str_find0 returns first appearance of a substring in a string, otherwise returns -1.
This template uses sub-template:str sub find which does the routine.
{{str find0 | <string1>| <string2>}}
It is zero-based. So no need for extra {{#expr:{{str find|}}-1}} calculations to use it in other templates.
Handles strings up to 90 characters.
Very fast on short strings. Uses enhanced algorithm to run the subroutine only when needed.
{{str find0|abcdef|abc}} → 0
{{str find0|abcdef|def}} → 3
{{str find0|abcdef|ghi}} → -1
{{str find0|abcdef|abcdefghi}} → -1
String-handling templates
By counting { { str mid } } To return a substring specified by position and length.
{ { trunc } } To trim down to a specified number of characters.
{ { str left } } To trim down to a specified number of characters or duplicate the string to a specified number.
{ { str crop } } To crop a specified number of characters off the end.
{ { chop head and tail } } To crop a specified number of characters off the beginning and end.
{ { str right } } To trim the first specified number of characters.
{ { str rightc } } To return a number of characters from the end, returns a parameter if the string is empty.
{ { str rightmost } } To trim down to the last specified number of characters.
{ { str sub old } } To trim down to a specified number, starting at a given number from the left.
{ { str sub new } } Select a substr based on starting and ending index.
{ { str index } } Returns a given character from a string, but not accented letters.
By checking Dedicated { { unlink } } Removes wikilink brackets (wikicode).
{ { remove file prefix } } Removes "File:" (or "Image:") from filenames.
{ { PAGENAMEBASE } } To trim off any parenthesis text at the end of a string (disambiguation).
{ { title disambig text } } Returns text in parenthesis at the end of a string (disambiguation).
{ { WikiProjectbasename } } Removes "WikiProject" from a pagename.
{ { remove unranked } } Removes the string "unranked_" from the left of a string (taxonomy).
{ { ship prefix } } Returns the length of a ship's name prefix, if listed (ship names).
{ { title year } } Returns the 4-digit year from a pagename, if any.
Insertion, replacement and length
{ { strloc insert } } Inserts a string at character location strloc, or appends if strloc<=0.
{ { loop } } Repeat character string a specified number of times.
{ { repeat } } Repeat a 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.
{ { str len } } Returns a string's length.
{ { iflenge } } [if len]gth [g]reater than or [e]qual to.
{ { str ≥ len } } To check if a string is "longer or equally long" or "shorter" than a given length.
{ { str ≤ len } } To check if a string is "shorter or equally long" or "longer" than a given length.
{ { str ≠ len } } To check if a string is "not equal" or "equal" to a given length.
{ { str ≤ ≥ len } } To check if a string is "shorter", "equal", or "longer" than a given length.
Analysis and technical
{ { str endswith } } To check if a string ends with a given string.
{ { str find } } { { strfind short } } Returns the numerical location of a given string in a string.
{ { str find0 } } Zero-based substring search.
{ { str sub find } } Searches a substring in a string at the given offset.
{ { str letter } } Returns the number of letters that begin a string.
{ { str number } } Returns the number of numbers that begin a string.
{ { str gtr str } } Compares two strings for alphabetical order, and returns a value accordingly.