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.)
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 [ edit ]
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 [ edit ]
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 [ edit ]
String-handling templates
(help page)
Substring (select chunk of string by its position)
{{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
{{delink }}, {{trim brackets }} Removes wikilink brackets (wikicode); all or outer only . {{Plain text }} Removes wikicode (formatting and brackets) {{PAGENAMEBASE }} 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).
{{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 {{Nowiki }} Displays wikitext as plain text.
{{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
{{str 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. {{Array }} Array manipulation and retrieval. {{Font style }} Returns bold or italic if the input value has either formatting. {{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