• Home
  • Random
  • Recent changes
  • Special pages
  • Settings
  • About MOASSpedia
  • Disclaimers
MOASSpedia
  • 216.73.216.154
  • Talk
  • Watchlist
  • Contributions
  • Log in

Template:Str ≠ len

Template Discussion
  • Language
  • Watch
  • History
  • Edit
    • Page information
    • Permanent link
    • What links here


Template documentation[view] [edit] [history] [purge]
WarningThis template is used on approximately 29,000 pages and changes may be widely noticed. Test changes in the template's /sandbox or /testcases subpages, or in your own user subpage. Consider discussing changes on the talk page before implementing them.
This template uses Lua:
  • Module:String

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.)

Contents

  • 1 Usage
  • 2 Parameters
  • 3 Technical details
  • 4 See also

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

  • v
  • t
  • e
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)
{{trim}} Trim any leading or trailing whitespace
{{str letter/trim}} Trim down to the beginning letters.
{{str number/trim}} Trim down to the beginning numbers.
{{trim brackets}} Trim any leading or trailing square brackets.
{{trim quotes}} Trim leading or trailing matching quotes.
{{trim leading}} Trim up to six instances of specified <prefix>.
{{string split}} Extract a short string from a long string.
{{first word}} Trim down to the first space.
{{remove first word}} Remove anything before the first space.
{{last word}} Trim down from the last space.
{{remove last word}} Remove anything after the last space.
Select/remove specific item from string
{{delink}}, {{trim brackets}} Removes wikilink brackets (wikicode); all or outer only.
{{remove file prefix}} Removes "File:" (or "Image:") from filenames.
{{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).
{{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 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
  • Module:String, Module:String2, Module:Ustring, Module:Text: modules that together contain most necessary string functions.
  • Magic words: About {{padleft:|}}, {{lc:|}}, {{formatnum:|}} etc.
  • ParserFunctions: About {{#titleparts:|}}, {{#expr:|}}, {{#ifeq:|}}, etc.
  • Category:String manipulation templates
    • Commons
    • MediaWiki
    • Meta-Wiki
    • Wikidata
  • Category:String manipulating modules
  • The above documentation is transcluded from Template:Str ≠ len/doc. (edit | history)
    Editors can experiment in this template's sandbox (create | mirror) and testcases (edit) pages.
    Add categories to the /doc subpage. Subpages of this template.
    Retrieved from "https://moasspedia.org/w/index.php?title=Template:Str_≠_len&oldid=31755"
    Categories:
    • Templates based on the String Lua module
    • String manipulation templates
    Last edited on 25 March 2017, at 07:38

    MOASSpedia

    Content is available under Creative Commons Attribution-ShareAlike unless otherwise noted.
    • This page was last edited on 25 March 2017, at 07:38.
    • Content is available under Creative Commons Attribution-ShareAlike unless otherwise noted.
    • Privacy policy
    • About MOASSpedia
    • Disclaimers
    • Desktop