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.
Limitations
Edit
Handles strings up to 90 characters.
Performance
Edit
Very fast on short strings. Uses enhanced algorithm to run the subroutine only when needed.
Examples
Edit
{{str find0|abcdef|abc}} → 0
{{str find0|abcdef|def}} → 3
{{str find0|abcdef|ghi}} → -1
{{str find0|abcdef|abcdefghi}} → -1
See also
Edit
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.