50px Template documentation
The Template:Str_index_code extracts a character from parameter 1, at the location in parameter 2, using an encode/decode method for handling special markup characters. Any character can be extracted, including: colon, semicolon, asterisk ('*') and hashmark ('#').
The Template:str_index_any extracts a specified nth character from a string, even allowing for accented letters or diacritics to be included in the string. The string can be any length, but position n (parameter 2) is limited to 500 at most.
Usage
- {{str index any|text|n}} = Returns the n-th character of text.
Supports a larger character set, allowing the text to have accented letters or other diacritical marks. Returns an error message for unknown characters. Returns   for a blank space, which can be converted to a simple space by xspace.
Examples
- {{ Str index code |0123456789ABCDEF|15}} → E
- {{ Str index code |ÁBĆĎÉf-ABCDEF|4}} → Ď
- {{ Str index code |Very very...long string of 500 characteRs|499}} → R
- {{ Str len |{{ Str index code |a b|1}}}} → 1
- {{ Str len |{{ Str index code |a b|2}}}} → 34
- {{ Str len |{{ Str index code |a b|3}}}} → 1
The last example shows extraction of letter "b" with string length as 1. The prior example extracts a blank but considers the length as 5 for the 5 characters " " even though there is only 1 space, and hence, {{str len| }} → 5. If surrounded by 2 other characters, then the length might be totalled incorrectly as 7 (rather than 3 characters):
- {{ Str len |<{{ Str index code |a b|2}}>}} → 36
- {{ Str len |X{{ Str index code |a b|2}}X}} → 36
- {{ Str len |X{{ Str index |a b|2}}X}} → 3
- X{{ Str index code |a b|2}}X → X X
The same string-length problem occurs when using template {{ Str index }}. There might be other quirks as well, but most cases work as expected.
See also
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 | {{trim}} | To trim any leading or trailing whitespace | {{str letter/trim}} | To trim down to the beginning letters. | {{str number/trim}} | To trim down to the beginning numbers. | {{trim brackets}} | To trim any leading or trailing square brackets. | {{trim quotes}} | To trim leading or trailing matches quotes. |
| |
|
---|
Dedicated | {{delink}} | 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 parentheses 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. | {{title decade}} | Returns the 4-digit decade (e.g. "1740s") 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. | {{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 |
|
{{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. |
|
|
|
|
|
bn:টেমপ্লেট:Str index any
de:Vorlage:Str index
es:Plantilla:Str index
ja:Template:Str index any
ka:თარგი:Str index any
pt:Predefinição:Str index
ru:Шаблон:Str index
sl:Predloga:Str index any
ur:Template:Str index any