| This template uses Lua:
|
This is the {{str ≥ len}} meta-template.
It helps other templates check if a string is "longer or equally long" vs. "shorter" than a given length.
Usage
This template takes 3 to 4 unnamed parameters.
Here is how to check if the string "abcde" is 4 characters or more:
{{str ≥ len | abcde | 4
| Equal or longer.
| Shorter.
}}
Which returns this:
- Equal or longer.
Templates have a problem to handle parameter data that contains equal signs "=
". But that is easily solved by using numbered parameters. Here we check if the string "ab=cde" is 100 characters or more:
{{str ≥ len
| 1 = ab=cde
| 2 = 100
| 3 = Equal "=" or longer.
| 4 = Shorter, not "=".
}}
Which returns this:
- Shorter, not "=".
It probably is a good habit to always use the numbered parameters, since you might not know beforehand exactly how the data will look that your template will feed to this meta-template.
Parameters
{{str ≥ len
| 1 = A string
| 2 = A length
| 3 = Data to return/render when "longer than or equally long".
| 4 = Data to return/render when "shorter than".
}}
Empty or undefined strings are considered to be of 0 length.
Length values below 0 are considered to be 0.
Technical details
The potential alternative templates names {{str >= len}} or (for the opposite) {{str < len}} do not work in MediaWiki.
Even though this is a string handling template it uses very efficient code. (While some of the other string handling templates are probably so heavy on the servers that we perhaps should not use them.)
Templates have problems to handle parameter data that contains pipes "|
", unless the pipe is inside another template {{name|param1}}
or inside a piped link [[Help:Template|help]]
. Thus templates can not handle wikitables as input unless you escape them by using the {{!}} template. This makes it hard to use wikitables as parameters to templates. Instead the usual solution is to use "HTML wikimarkup" for the table code, which is more robust.
See also
String-handling templates (help page) |
---|
|
---|
By counting | {{#invoke:string|sub}}, {{str sub new}}: Select a substring based on starting and ending index counted in either direction.
{{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. | {{str index}} | Returns a given character from a string, but not accented letters. |
| {{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. |
|
|
---|
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 matching quotes. | {{trim leading}} | To trim up to six instances of specified <prefix>. |
| |
|
---|
Dedicated | | {{WikiProjectbasename}} | Removes "WikiProject" from a pagename. | {{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 |
---|
{{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 | {{Plain text}}, {{Nowiki}} | Strips wikicode from a string. |
|
{{str len}} | Returns a string's length. | {{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. |
|
|
|
Analysis and searching |
---|
|
{{a or an}} | Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel. | {{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 |
---|
|
|
|