GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Main page
  • Contents
  • Current events
  • Random article
  • About Wikipedia
  • Contact us
  • Help
  • Learn to edit
  • Community portal
  • Recent changes
  • Upload file
  • Special pages
  • Search
  • Donate

This view

  • Original page
  • New address

GeezerVison is showing en.wikipedia.org — Template:String split - Wikipedia

Permanently protected template
Template documentationviewedithistorypurge
WarningThis template is used on approximately 5,600 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:String2 (sandbox)

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 }} → Dalmatian liver stacked.jpg | Dalmatian dog stacked for show

  • {{String split |{{#invoke:carousel | main | name = WPDogs | switchsecs = 5 }}|{{!}}| 2}} → Dalmatian dog stacked for show

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

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://en.wikipedia.org/w/index.php?title=Template:String_split&oldid=1366752779"
Category:
  • String manipulation templates
Hidden categories:
  • Wikipedia template-protected templates
  • Lua-based templates
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.