40x40px | This template is used on 350,000+ pages. To avoid large-scale disruption and unnecessary server load, any changes to this template should first be tested in its /sandbox or /testcases subpages, or in your own user space. The tested changes can then be added to this page in one single edit. Please consider discussing any changes on the talk page before implementing them. |
42px | This template uses Module:String, a script written in the Lua programming language. Please see Wikipedia:Lua if you want to learn more about Lua or help convert other templates. |
This is the {{str ≤ len}} meta-template.
It helps other templates check if a string is "shorter or equally long" vs. "longer" 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 less:
{{str ≤ len | abcde | 4
| Equal or shorter.
| Longer.
}}
Which returns this:
- 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 less:
{{str ≤ len
| 1 = ab=cde
| 2 = 100
| 3 = Equal "=" or shorter.
| 4 = Longer, not "=".
}}
Which returns this:
- Equal "=" or shorter.
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 "shorter than or equally long".
| 4 = Data to return/render when "longer 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 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 |
---|
|
As of February 2013, these templates are being optimised using Lua modules. | | Trim by counting |
- {{Str mid}} – To return a substring, specified by its 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.
|
---|
| Trim by checking |
{{Trim}} – To trim any leading or trailing whitespace ({{Strip whitespace}} does so too, but is less effective)
{{First word}} – To trim down to the first space.
{{Remove first word}} – To remove anything before the first space.
{{Str letter/trim}} – To trim down to the beginning letters.
{{Str number/trim}} – To trim down to the beginning numbers. |
---|
| Insert strings |
{{Loop}} – Repeat character string n times
{{Replace}} – Returns the string, after replacing all occurrences of a specified string with another string.
{{Strloc insert}} – Inserts a string at character location strloc, or appends if strloc<=0.
{{Strloc prefix}} – Extracts string prefix up to location strloc, or whole string if strloc<=0.
{{Str rep}} – Returns the string, after replacing the first occurrence of a specified string with another string. |
---|
| Length |
{{Str len}} – Returns a string's length.
{{iflenge}} – IF LENgth Greater than or Equal 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. |
---|
| Analyse string |
{{Str endswith}} – To check if a string ends with a given string.
{{Str find}} – Returns the numerical location of a given string in a string.
{{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.
{{ASCII code}} – Returns the ASCII value of a single character.
{{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.
{{a or an}} – Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel. |
---|
| Trim, dedicated |
{{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 name prefix, if listed (ship names).
{{Title without disambig}} – To trim off any parenthesis text at the end of a string (disambiguation).
{{Title disambig text}} – Returns text in parenthesis at the end of a string (disambiguation).
{{Unlink}} – Removes wikilink brackets (wikicode).
{{Remove file prefix}}—Removes "File:" or "Image:" from filenames. |
---|
| Technical developments | |
---|
| |
|
Last modified on 1 February 2014, at 23:33