Template:String-handling templates: Difference between revisions

From Zoophilia Wiki
Jump to navigationJump to search
meta>Davidgothberg
The <noinclude> caused a very hard to find bug when I copied some of these links to Template:Str len/core/doc. Making the <noinclude> more visible so others won't fall in the same trap.
Ookami (talk | contribs)
m 104 revisions imported
 
(100 intermediate revisions by 33 users not shown)
Line 1: Line 1:
Easy to use and efficient string length comparison templates:
{{Navbox with collapsible groups
| name = String-handling templates
| state = {{{state|expanded}}}
| bodyclass = plainlist
| title = String-handling templates
| selected = {{{selected|{{{expanded|{{{1|}}}}}}}}}


* {{tl|str ≥ len}} – To check if a string is "longer or equally long" vs. "shorter" than a given length.
<!---------------------- Trimming ------------------------->
* {{tl|str ≤ len}} – To check if a string is "shorter or equally long" vs. "longer" than a given length.
| abbr1 = trim
* {{tl|str ≠ len}} – To check if a string is "not equal" vs. "equal" to a given length.
| sect1 = [[Trimming (computer programming)|Trimming]]
* {{tl|str ≤ ≥ len}} – To check all three of "shorter", "equal" and "longer" at the same time.
| content1 =
{{Navbox |child


Much less efficient string length template:
  | group1 = By counting
  | list1 =
  {{Aligned table |fullwidth=on |style=text-align:left; |col1width=50%;
    | {{Aligned table |style=padding-right:2.5em;
      |col1style=width:12.5em;text-align:right;white-space:nowrap;padding-right:0.75em;
      | {{tl|str mid}}      | To return a substring specified by position and length.
      | {{tl|trunc}}        | To trim down to a specified number of characters.
      | {{tl|str left}}      | To trim down to a specified number of characters or duplicate the string to a specified number.
      | {{tl|str crop}}      | To crop a specified number of characters off the end.
      | {{tl|chop head and tail}} | To crop a specified number of characters off the beginning and end.
      }}
    | {{Aligned table
      |col1style=width:12.5em;text-align:right;white-space:nowrap;padding-right:0.75em;
      | {{tl|str right}}    | To trim the first specified number of characters.
      | {{tl|str rightc}}    | To return a number of characters from the end, returns a parameter if the string is empty.
      | {{tl|str rightmost}} | To trim down to the last specified number of characters.
      | {{tl|str sub old}}  | To trim down to a specified number, starting at a given number from the left.
      | {{tl|str sub new}}  | Select a substr based on starting and ending index.
      | {{tl|str index}}    | Returns a given character from a string, but not accented letters.
      | {{tl|Plain text}}, {{tl|Nowiki}}    | Strips wikicode from a string.
  }} }}


* {{tl|str len}} – Takes a string as parameter and returns its length. Can count up to 500 in length.
  | group2 = By checking
  | list2 =
  {{Aligned table |fullwidth=on |style=text-align:left; |col1width=50%;
    | {{Aligned table |style=padding-right:2.5em;
      |col1style=width:12.5em;text-align:right;white-space:nowrap;padding-right:0.75em;
      | {{tl|trim}}                | To trim any leading or trailing whitespace
      | {{tl|str letter/trim}}    | To trim down to the beginning letters.
      | {{tl|str number/trim}}    | To trim down to the beginning numbers.
      | {{tl|trim brackets}}      | To trim any leading or trailing square brackets.
      | {{tl|trim quotes}}         | To trim leading or trailing matching quotes.
      }}
    | {{Aligned table
      |col1style=width:12.5em;text-align:right;white-space:nowrap;padding-right:0.75em;
      | {{tl|first word}}          | To trim down to the first space.
      | {{tl|remove first word}}  | To remove anything before the first space.
      | {{tl|last word}}          | To trim down from the last space.
      | {{tl|remove last word}}    | To remove anything after the last space.
  }} }}


Technical stuff:
  | group3 = Dedicated
  | list3 =
  {{Aligned table |fullwidth=on |style=text-align:left; |col1width=50%;
    | {{Aligned table |style=padding-right:2.5em;
      |col1style=width:12.5em;text-align:right;white-space:nowrap;padding-right:0.75em;
      | {{tl|delink}}, {{tl|trim brackets}}              | Removes wikilink brackets (wikicode); ''all'' or ''outer only''.
      | {{tl|remove file prefix}}  | Removes "File:" (or "Image:") from filenames.
      | {{tl|PAGENAMEBASE}}        | To trim off any parenthesis text at the end of a string (disambiguation).
      | {{tl|title disambig text}} | Returns text in parentheses at the end of a string (disambiguation).
      }}
    | {{Aligned table
      |col1style=width:12.5em;text-align:right;white-space:nowrap;padding-right:0.75em;
      | {{tl|WikiProjectbasename}} | Removes "WikiProject" from a pagename.
      | {{tl|remove unranked}}    | Removes the string "unranked_" from the left of a string (taxonomy).
      | {{tl|ship prefix}}        | Returns the length of a ship's name prefix, if listed (ship names).
      | {{tl|title year}}          | Returns the 4-digit year from a pagename, if any.
      | {{tl|title decade}}        | Returns the 4-digit decade (e.g. "1740s") from a pagename, if any.
  }} }}
}}


* [[mw:Help:Magic words]] – About <code><nowiki>{{padleft:|}}</nowiki></code>.
<!----------- Insertion, replacement, length -------------->
* [[mw:Help:Extension:ParserFunctions]] – About <code><nowiki>{{#ifeq:|||}}</nowiki></code> etc.  <!--
| abbr2 = IRL
--><noinclude>
| sect2 = Insertion, replacement and length
| content2 =
{{Aligned table |style=margin:0 auto 0;text-align:left;
  | <!---(Insertion, replacement)--->
    {{Aligned table |style=padding-right:2.5em;
    |col1style=text-align:right;white-space:nowrap;padding-right:0.75em;
    | {{tl|strloc insert}} | Inserts a string at character location strloc, or appends if strloc<{{=}}0.
    | {{tl|loop}}          | Repeat character string a specified number of times.
    | {{tl|replace}}      | Returns the string, after replacing ''all'' occurrences of a specified string with another string.
    | {{tl|str rep}}       | Returns the string, after replacing the first occurrence of a specified string with another string.
    | {{tl|digits}}        | Returns the string, after removing all characters that are not digits 0–9
    }}
   <!---(Length)--->
    {{Aligned table
    |col1style=text-align:right;white-space:nowrap;padding-right:0.75em;
    | {{tl|str len}}      | Returns a string's length.
    | {{tl|str ≥ len}}    | To check if a string is "longer or equally long" or "shorter" than a given length.
    | {{tl|str ≤ len}}    | To check if a string is "shorter or equally long" or "longer" than a given length.
    | {{tl|str ≠ len}}    | To check if a string is "not equal" or "equal" to a given length.
    | {{tl|str ≤ ≥ len}}  | To check if a string is "shorter", "equal", or "longer" than a given length.
}} }}


{{documentation}}
<!----------------- Analysis, technical ------------------->
<!-- Add categories and interwikis to the /doc subpage, not here! -->
| abbr3 = anlys/tech
</noinclude>
| sect3 = Analysis and technical
| content3 =
{{Aligned table |style=margin:0 auto 0;text-align:left;
  |  <!---(Analysis)--->
    {{Aligned table |style=padding-right:2.5em;
    |col1style=text-align:right;white-space:nowrap;padding-right:0.75em;
    | {{tl|str endswith}} | To check if a string ends with a given string.
    | {{tl|str find}}<br/>{{tl|strfind short}} |style2.2=vertical-align:middle;| Returns the numerical location of a given string in a string.
    | {{tl|str find0}}    | Zero-based substring search.
    | {{tl|str sub find}}  | Searches a substring in a string at the given offset.
    | {{tl|str letter}}    | Returns the number of letters that begin a string.
    | {{tl|str number}}    | Returns the number of numbers that begin a string.
    | {{tl|str gtr str}}  | Compares two strings for alphabetical order, and returns a value accordingly.
    }}
  |  <!---(Analysis cont'd)--->
    {{Aligned table
    |col1style=text-align:right;white-space:nowrap;padding-right:0.75em;
    | {{tl|ASCII code}}    | Returns the ASCII value of a single character.
    | {{tl|a or an}}      | Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel.
    | {{tl|Isnumeric}}    | Returns number when true, blank when not numeric.
    | &nbsp; | &nbsp;
    | {{tl|Count on page}} | Counts how many times a string is used on a page
    | {{tl|String on page}}| Finds if yes/no a string is used on a page
    | &nbsp; | &nbsp;
    <!---(Technical)--->
    | [[mw:Help:Magic words|...Magic words]] | {{noitalic|About <code><nowiki>{{padleft:&#124;}}</nowiki></code>.}}
    | [[mw:Help:Extension:ParserFunctions|...ParserFunctions]] | {{noitalic|About <code><nowiki>{{#titleparts:&#124;}}, {{#expr:&#124;}}, {{#ifeq:&#124;}}, </nowiki></code> etc.}}
}} }}
 
| group12 = Generic: [[:Module:String]]
 
<!--------------------- (disabled) ------------------------>
<!----
| group12 = Feature requests
| list12 =
* [[bugzilla:6455]] – Set $wgPFEnableStringFunctions = true on WMF wikis
* [[bugzilla:26092]] – Enable or install string parsing wikimarkup functionality on WMF wikis
 
<!----Not in a navbox:
| group13 = [[Wikipedia:Template sandbox and test cases|Sandboxes, testcases]]
| list13 =
* {{tl|Str find/sandbox}}
* {{tl|Str index/getchar/sandbox}}
* {{tl|Str index/getchar/testcases}}
* {{tl|Str index/sandbox}}
* {{tl|Str index/testcases}}
* {{tl|Str index any/sandbox}}
* {{tl|Str index any/testcases}}
* {{tl|Str left/sandbox}}
* {{tl|Str len/core/sandbox}}
* {{tl|Str len/sandbox}}
* {{tl|Str len/testcases}}
* {{tl|Str rightc/testcases}}
* {{tl|Str ≠ len/sandbox}}
* {{tl|Str ≠ len/testcases}}
----->
 
<!----------------------- below --------------------------->
| belowclass = hlist
| below =
* [[:Category:String manipulation templates]]
* [[m:Category:String templates]]
* [[:commons:Category:String manipulation templates]]
 
| tracking = no <!--(keep all these string templates (by /doc pages) out of the tracking category)-->
 
}}<noinclude>{{Documentation}}</noinclude>

Latest revision as of 14:49, 3 September 2020