<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.thegoonshow.co.uk/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AUstring%2Fdoc</id>
	<title>Module:Ustring/doc - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.thegoonshow.co.uk/wiki/index.php?action=history&amp;feed=atom&amp;title=Module%3AUstring%2Fdoc"/>
	<link rel="alternate" type="text/html" href="https://www.thegoonshow.co.uk/wiki/index.php?title=Module:Ustring/doc&amp;action=history"/>
	<updated>2026-06-04T17:11:10Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.2</generator>
	<entry>
		<id>https://www.thegoonshow.co.uk/wiki/index.php?title=Module:Ustring/doc&amp;diff=24041&amp;oldid=prev</id>
		<title>Kurt: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://www.thegoonshow.co.uk/wiki/index.php?title=Module:Ustring/doc&amp;diff=24041&amp;oldid=prev"/>
		<updated>2022-10-21T20:55:20Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:55, 21 October 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Kurt</name></author>
	</entry>
	<entry>
		<id>https://www.thegoonshow.co.uk/wiki/index.php?title=Module:Ustring/doc&amp;diff=24040&amp;oldid=prev</id>
		<title>en&gt;Pppery at 22:54, 8 August 2022</title>
		<link rel="alternate" type="text/html" href="https://www.thegoonshow.co.uk/wiki/index.php?title=Module:Ustring/doc&amp;diff=24040&amp;oldid=prev"/>
		<updated>2022-08-08T22:54:10Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{used in system}}&lt;br /&gt;
{{Module rating |release&amp;lt;!-- Values:  pre-alpha • alpha • beta • release • protected  --  If a rating not needed/relevant, delete this template call --&amp;gt;}}&lt;br /&gt;
&amp;lt;!-- Please place categories where indicated at the bottom of this page and interwikis at Wikidata (see [[Wikipedia:Wikidata]]) --&amp;gt;&lt;br /&gt;
This module directly imports all functions from the {{luaref|Ustring library|mw.ustring}} library. Documentation for each function can be found there.&lt;br /&gt;
&lt;br /&gt;
The module takes an indefinite number of arguments. Arguments given as {{para|s1}}, {{para|s2}}, etc, are read first, and are used as strings. All remaining numerical arguments are coerced to number type if possible, and remain strings if not. If you wish for a numerical (i.e. unnamed or &amp;quot;{{para|1}}&amp;quot;, &amp;quot;{{para|2}}&amp;quot;) to remain a string, you can simply escape it by inserting &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt; at the beginning of the string.&lt;br /&gt;
&lt;br /&gt;
Note that MediaWiki will always trim whitespace from named arguments; to give arguments with surrounding whitespace you must use unnamed parameters starting with &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ How to pass inconvenient strings&lt;br /&gt;
|-&lt;br /&gt;
! To pass this... !! Write this !! Explanation&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;  0123  &amp;quot;&amp;lt;/code&amp;gt; || {{para||\  123  }} || To get surrounding whitespace must use unnamed, but must precede with &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt; to indicate that it isn't a number.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;0123&amp;quot;&amp;lt;/code&amp;gt; || {{para|s1|0123}} || If you don't need to preserve whitespace use {{para|s1}} etc.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;&amp;quot;0123&amp;quot;&amp;lt;/code&amp;gt; || {{para|1|\0123}} || If you don't need to preserve whitespace explicitly use {{para|1}} etc.&lt;br /&gt;
|-&lt;br /&gt;
| In another template, to pass its parameter &amp;lt;code&amp;gt;{{{1}}}&amp;lt;/code&amp;gt;, preserving whitespace || {{para||\{{{1}}}}} || Must provide the &amp;lt;code&amp;gt;\&amp;lt;/code&amp;gt; with unknown string input.&lt;br /&gt;
|-&lt;br /&gt;
| In another template, to pass its parameter &amp;lt;code&amp;gt;{{{1}}}&amp;lt;/code&amp;gt;, stripping whitespace || {{para|s1|{{{1}}}}} || &lt;br /&gt;
|-&lt;br /&gt;
| In another template, to pass its parameter &amp;lt;code&amp;gt;{{{1}}}&amp;lt;/code&amp;gt;, stripping whitespace || {{para|1|&amp;lt;nowiki&amp;gt;\{{#if:1|{{{1}}}}}&amp;lt;/nowiki&amp;gt;}} || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
You can also wrap results in tags. All other unused arguments will be passed to {{luaref|frame:extensionTag}}&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;#invoke:{{BASEPAGENAME}}|''function_name''|arg1|arg2|...}}&amp;lt;/code&amp;gt; is equivalent to {{luaref|Ustring library|mw.ustring.''function_name''|args=arg1, arg2, ...}}&lt;br /&gt;
&lt;br /&gt;
===Example using mw.ustring.sub===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Ustring|sub|s1=abcde|2|4}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
produces:&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Ustring|sub|s1=abcde|2|4}}&lt;br /&gt;
&lt;br /&gt;
===Example using mw.ustring.gsub===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Ustring|gsub|s1=1234|23|}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
produces:&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Ustring|gsub|s1=1234|23|}}&lt;br /&gt;
&lt;br /&gt;
===Example using mw.ustring.char===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;amp;amp;amp;#{{#invoke:ustring|char|49|48|59}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
produces:&lt;br /&gt;
&lt;br /&gt;
&amp;amp;amp;#{{#invoke:ustring|char|49|48|59}}&lt;br /&gt;
&lt;br /&gt;
===Example using mw.ustring.match===&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Ustring|match|s1=abcde|s2=(c%w)}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
produces:&lt;br /&gt;
&lt;br /&gt;
{{#invoke:Ustring|match|s1=abcde|s2=(c%w)}}&lt;br /&gt;
&lt;br /&gt;
Note: Only the first match is returned. Additional returns are omitted because mw.ustring.gsub's second return value is generally undesirable.&lt;br /&gt;
&lt;br /&gt;
===Example using tag arguments===&lt;br /&gt;
&amp;lt;pre&amp;gt;{{#invoke:Ustring|match&lt;br /&gt;
|s1={{Module:Ustring}}|%s%s%sif%snot%s[^%s]+%sthen.+%&lt;br /&gt;
&amp;lt;!--enter an actual newline character to match '\n'--&amp;gt;%s%s%send&lt;br /&gt;
|tag=syntaxhighlight|lang=lua}}&amp;lt;/pre&amp;gt;&lt;br /&gt;
produces:&lt;br /&gt;
{{#invoke:Ustring|match&lt;br /&gt;
|s1={{Module:Ustring}}|%s%s%sif%snot%s[^%s]+%sthen.+%&lt;br /&gt;
&amp;lt;!--enter an actual newline character to match '\n'--&amp;gt;%s%s%send&lt;br /&gt;
|tag=syntaxhighlight|lang=lua}}&lt;br /&gt;
&lt;br /&gt;
Note that:&lt;br /&gt;
{{#tag:pre|&amp;lt;nowiki&amp;gt;&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;{{#invoke:Ustring|match&lt;br /&gt;
|s1={{Module:Ustring}}|%s%s%sif%snot%s[^%s]+%sthen.+%&lt;br /&gt;
&amp;lt;!--enter an actual newline character to match '\n'--&amp;gt;%s%s%send}}&amp;lt;/syntaxhighlight&amp;gt;&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
produces:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;lua&amp;quot;&amp;gt;{{#invoke:Ustring|match&lt;br /&gt;
|s1={{Module:Ustring}}|%s%s%sif%snot%s[^%s]+%sthen.+%&lt;br /&gt;
&amp;lt;!--enter an actual newline character to match '\n'--&amp;gt;%s%s%send}}&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Errors ==&lt;br /&gt;
Errors from accessing {{luaref|Ustring library|mw.ustring}} should be maintained, e.g.:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Ustring|xyzzy}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
should produce:&lt;br /&gt;
&lt;br /&gt;
{{script error|Script error: The function &amp;quot;xyzzy&amp;quot; does not exist.}}&lt;br /&gt;
&lt;br /&gt;
and&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;{{#invoke:Ustring|maxPatternLength}}&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
should produce:&lt;br /&gt;
&lt;br /&gt;
{{script error|Script error: &amp;quot;maxPatternLength&amp;quot; is not a function.}}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
{{String handling templates}}&lt;br /&gt;
&amp;lt;includeonly&amp;gt;{{#ifeq:{{SUBPAGENAME}}|sandbox | |&lt;br /&gt;
&amp;lt;!-- Categories below this line, please; interwikis at Wikidata --&amp;gt;&lt;br /&gt;
[[Category:Modules that manipulate strings|*]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>en&gt;Pppery</name></author>
	</entry>
</feed>