| This template uses Lua:
|
This is the {{str ≠ len}} meta-template.
It helps other templates check if a string is "not equal" vs. "equal" to a given length.
Note! For most usage cases it might be better to use {{str ≥ len}}. (See the see also section below.)
Usage
This template takes 3 to 4 unnamed parameters.
Here is how to check if the string "abcde" is exactly 5 characters:
{{str ≠ len | abcde | 5
| Not equal.
| Equal.
}}
Which returns this:
- Equal.
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 exactly 100 characters:
{{str ≠ len
| 1 = ab=cde
| 2 = 100
| 3 = Not equal, "!=".
| 4 = Equal, "=".
}}
Which returns this:
- Not equal, "!=".
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
Detailed parameter explanation:
{{str ≠ len
| 1 = A string
| 2 = A length
| 3 = Data to return/render when "not equally long".
| 4 = Data to return/render when "equally long".
}}
Empty or undefined strings are considered to be of 0 length.
Length values below 0 are considered to be 0.
Technical details
This template would be equivalent to templates named {{str != len}} or {{str == len}}, but we can't use those template names since they don't work well in MediaWiki.
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) |
---|
Substring (select chunk of string by its position) |
---|
{{#invoke:string|sub}} {{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 |
---|
| {{ship prefix}} | Returns the length of a ship's name prefix, if listed (ship names). | {{title year}} | Returns the 3-or-4-digit year from a pagename, if any. | {{title decade}} | Returns the 4-digit decade (e.g. "1740s") from a pagename, if any. | {{title number}} | Returns any number 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 | {{Plain text}}, {{Nowiki}} | Strips wikicode from a string. |
|
{{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 |
---|
{{#invoke:string2|startswith}} {{str endswith}} | Check if a string starts or ends with a given string. | {{str find}}, {{strfind short}} | Returns the numerical location of a given string in a string. | {{in string}} | Returns optional string when given string is not found | {{str count}} | Count the number of occurrences of a pattern within a string. |
|
{{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 |
---|
|
|
|