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

Template:String split

Template Discussion
  • Language
  • Watch
  • History
  • Edit
    • Page information
    • Permanent link
    • What links here
Template documentation[view] [edit] [history] [purge]
This template uses Lua:
  • Module:String2

Template:String split is a convenience wrapper for the split function in Module:String2.

The split function splits text at boundaries specified by separator and returns the chunk for the index idx (starting at 1). It can use positional parameters or named parameters (but these should not be mixed):

  • {{#invoke:String2 |split |text |separator |index |true/false}}
  • {{#invoke:String2 |split |txt=text |sep=separator |idx=index |plain=true/false}}

Any double quotes (") in the separator parameter are stripped out, which allows spaces and wikitext like ["[ to be passed. Use {{!}} for the pipe character |.

If the optional plain parameter is set to false / no / 0 then separator is treated as a Lua pattern. The default is plain=true, i.e. normal text matching.

The index parameter is optional; it defaults to the first chunk of text. A negative parameter value counts chunks backward from the end of the text.

Examples

  • {{String split |This is a piece of text to be split |" "}} → This
  • {{String split |This is a piece of text to be split |" "| 4}} → piece
  • {{String split |This is a piece of text to be split |x| 2}} → t to be split

Modules may return strings with | as separators like this: {{#invoke:carousel | main | name = WPDogs | switchsecs = 5 }} → (2)BIR Grupp 7- KORTHÅRIG VORSTEH, J Björnkärrets Hertzogin Aida (24208119306).jpg|German Shorthaired Pointer

  • {{String split |{{#invoke:carousel | main | name = WPDogs | switchsecs = 5 }}|{{!}}| 2}} → German Shorthaired Pointer

Lua patterns can allow splitting at classes of characters such as punctuation:

  • {{String split |Apples, pears, oranges; Cats, dogs|"%p"| 2 |false}} → pears
  • {{String split |Apples, pears, oranges; Cats, dogs|"%p"| 4 |false}} → Cats

Or split on anything that isn't a letter (no is treated as false):

  • {{String split |Apples pears oranges; Cats dogs|"%A+"| 4 |no}} → Cats

Named parameters force the trimming of leading and trailing spaces in the parameters and are generally clearer when used:

  • {{String split | txt=Apples pears oranges; Cats dogs | sep="%A+" | idx=3 | plain=false }} → oranges

A negative index will count back from the end of the text:

  • {{String split |txt=This is a piece of text to be split |sep=" " |idx=-1}} → split

An easy mistake to make when using negative parameters is to forget that a trailing space in the text when passed as an unnamed parameter will induce an empty last chunk:

  • {{String split |This is a piece of text to be split |" "|-1}} →
  • {{String split |This is a piece of text to be split|" "|-1}} → split

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:String split/doc. (edit | history)
    Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages.
    Add categories to the /doc subpage. Subpages of this template.
    Retrieved from "https://moasspedia.org/w/index.php?title=Template:String_split&oldid=31799"
    Categories:
    • Lua-based templates
    • String manipulation templates
    Last edited on 23 February 2022, at 11:31

    MOASSpedia

    Content is available under Creative Commons Attribution-ShareAlike unless otherwise noted.
    • This page was last edited on 23 February 2022, at 11:31.
    • Content is available under Creative Commons Attribution-ShareAlike unless otherwise noted.
    • Privacy policy
    • About MOASSpedia
    • Disclaimers
    • Desktop