CINXE.COM
Module:Ustring - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>Module:Ustring - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-sticky-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy", "wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"9f3e175c-4c10-44cf-a2e8-70fa8854d4b0","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Module:Ustring","wgTitle":"Ustring","wgCurRevisionId":1208349011,"wgRevisionId":1208349011,"wgArticleId":54019518,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Wikipedia fully protected modules","Modules for general use","Modules that manipulate strings"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"Scribunto","wgRelevantPageName":"Module:Ustring","wgRelevantArticleId":54019518,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status": {"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":900,"wgRelatedArticlesCompat":[],"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q64632741","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready", "ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready","ext.wikimediaBadges":"ready"};RLPAGEMODULES=["ext.pygments.view","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","wikibase.client.vector-2022", "ext.checkUser.clientHints","wikibase.sidebar.tracking"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.pygments%2CwikimediaBadges%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.5"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="Module:Ustring - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/Module:Ustring"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/Module:Ustring"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="//login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-828 ns-subject page-Module_Ustring rootpage-Module_Ustring skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AUstring" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=Module%3AUstring" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=Module%3AUstring" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=Module%3AUstring" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Usage" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Usage"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Usage</span> </div> </a> <button aria-controls="toc-Usage-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Usage subsection</span> </button> <ul id="toc-Usage-sublist" class="vector-toc-list"> <li id="toc-Example_using_mw.ustring.sub" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Example_using_mw.ustring.sub"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.1</span> <span>Example using mw.ustring.sub</span> </div> </a> <ul id="toc-Example_using_mw.ustring.sub-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Example_using_mw.ustring.gsub" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Example_using_mw.ustring.gsub"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.2</span> <span>Example using mw.ustring.gsub</span> </div> </a> <ul id="toc-Example_using_mw.ustring.gsub-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Example_using_mw.ustring.char" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Example_using_mw.ustring.char"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.3</span> <span>Example using mw.ustring.char</span> </div> </a> <ul id="toc-Example_using_mw.ustring.char-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Example_using_mw.ustring.match" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Example_using_mw.ustring.match"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.4</span> <span>Example using mw.ustring.match</span> </div> </a> <ul id="toc-Example_using_mw.ustring.match-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Example_using_tag_arguments" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Example_using_tag_arguments"> <div class="vector-toc-text"> <span class="vector-toc-numb">1.5</span> <span>Example using tag arguments</span> </div> </a> <ul id="toc-Example_using_tag_arguments-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Errors" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Errors"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>Errors</span> </div> </a> <ul id="toc-Errors-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-namespace">Module</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">Ustring</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 39 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-39" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">39 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ab mw-list-item"><a href="https://ab.wikipedia.org/wiki/%D0%90%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Ustring" title="Амодуль:Ustring – Abkhazian" lang="ab" hreflang="ab" data-title="Амодуль:Ustring" data-language-autonym="Аԥсшәа" data-language-local-name="Abkhazian" class="interlanguage-link-target"><span>Аԥсшәа</span></a></li><li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:Ustring" title="وحدة:Ustring – Arabic" lang="ar" hreflang="ar" data-title="وحدة:Ustring" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-as mw-list-item"><a href="https://as.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Assamese" lang="as" hreflang="as" data-title="Module:Ustring" data-language-autonym="অসমীয়া" data-language-local-name="Assamese" class="interlanguage-link-target"><span>অসমীয়া</span></a></li><li class="interlanguage-link interwiki-az mw-list-item"><a href="https://az.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Azerbaijani" lang="az" hreflang="az" data-title="Modul:Ustring" data-language-autonym="Azərbaycanca" data-language-local-name="Azerbaijani" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-ban mw-list-item"><a href="https://ban.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Balinese" lang="ban" hreflang="ban" data-title="Modul:Ustring" data-language-autonym="Basa Bali" data-language-local-name="Balinese" class="interlanguage-link-target"><span>Basa Bali</span></a></li><li class="interlanguage-link interwiki-bn mw-list-item"><a href="https://bn.wikipedia.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:Ustring" title="মডিউল:Ustring – Bangla" lang="bn" hreflang="bn" data-title="মডিউল:Ustring" data-language-autonym="বাংলা" data-language-local-name="Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-be-x-old mw-list-item"><a href="https://be-tarask.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Ustring" title="Модуль:Ustring – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Модуль:Ustring" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-bh mw-list-item"><a href="https://bh.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Bhojpuri" lang="bh" hreflang="bh" data-title="Module:Ustring" data-language-autonym="भोजपुरी" data-language-local-name="Bhojpuri" class="interlanguage-link-target"><span>भोजपुरी</span></a></li><li class="interlanguage-link interwiki-ceb mw-list-item"><a href="https://ceb.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Cebuano" lang="ceb" hreflang="ceb" data-title="Module:Ustring" data-language-autonym="Cebuano" data-language-local-name="Cebuano" class="interlanguage-link-target"><span>Cebuano</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D9%BE%D9%88%D8%AF%D9%85%D8%A7%D9%86:Ustring" title="پودمان:Ustring – Persian" lang="fa" hreflang="fa" data-title="پودمان:Ustring" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/%EB%AA%A8%EB%93%88:Ustring" title="모듈:Ustring – Korean" lang="ko" hreflang="ko" data-title="모듈:Ustring" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ilo mw-list-item"><a href="https://ilo.wikipedia.org/wiki/Modulo:Ustring" title="Modulo:Ustring – Iloko" lang="ilo" hreflang="ilo" data-title="Modulo:Ustring" data-language-autonym="Ilokano" data-language-local-name="Iloko" class="interlanguage-link-target"><span>Ilokano</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Indonesian" lang="id" hreflang="id" data-title="Modul:Ustring" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Icelandic" lang="is" hreflang="is" data-title="Module:Ustring" data-language-autonym="Íslenska" data-language-local-name="Icelandic" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-ku mw-list-item"><a href="https://ku.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Kurdish" lang="ku" hreflang="ku" data-title="Modul:Ustring" data-language-autonym="Kurdî" data-language-local-name="Kurdish" class="interlanguage-link-target"><span>Kurdî</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Lithuanian" lang="lt" hreflang="lt" data-title="Module:Ustring" data-language-autonym="Lietuvių" data-language-local-name="Lithuanian" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-ml mw-list-item"><a href="https://ml.wikipedia.org/wiki/%E0%B4%98%E0%B4%9F%E0%B4%95%E0%B4%82:Ustring" title="ഘടകം:Ustring – Malayalam" lang="ml" hreflang="ml" data-title="ഘടകം:Ustring" data-language-autonym="മലയാളം" data-language-local-name="Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Malay" lang="ms" hreflang="ms" data-title="Modul:Ustring" data-language-autonym="Bahasa Melayu" data-language-local-name="Malay" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-my mw-list-item"><a href="https://my.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%80%AC%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0%E1%80%B8:Ustring" title="မော်ဂျူး:Ustring – Burmese" lang="my" hreflang="my" data-title="မော်ဂျူး:Ustring" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="Burmese" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-ce mw-list-item"><a href="https://ce.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Ustring" title="Модуль:Ustring – Chechen" lang="ce" hreflang="ce" data-title="Модуль:Ustring" data-language-autonym="Нохчийн" data-language-local-name="Chechen" class="interlanguage-link-target"><span>Нохчийн</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Norwegian Nynorsk" lang="nn" hreflang="nn" data-title="Modul:Ustring" data-language-autonym="Norsk nynorsk" data-language-local-name="Norwegian Nynorsk" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Uzbek" lang="uz" hreflang="uz" data-title="Modul:Ustring" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Uzbek" class="interlanguage-link-target"><span>Oʻzbekcha / ўзбекча</span></a></li><li class="interlanguage-link interwiki-pa mw-list-item"><a href="https://pa.wikipedia.org/wiki/%E0%A8%AE%E0%A9%8C%E0%A8%A1%E0%A8%BF%E0%A8%8A%E0%A8%B2:Ustring" title="ਮੌਡਿਊਲ:Ustring – Punjabi" lang="pa" hreflang="pa" data-title="ਮੌਡਿਊਲ:Ustring" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Punjabi" class="interlanguage-link-target"><span>ਪੰਜਾਬੀ</span></a></li><li class="interlanguage-link interwiki-pi mw-list-item"><a href="https://pi.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Pali" lang="pi" hreflang="pi" data-title="Module:Ustring" data-language-autonym="पालि" data-language-local-name="Pali" class="interlanguage-link-target"><span>पालि</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/M%C3%B3dulo:Ustring" title="Módulo:Ustring – Portuguese" lang="pt" hreflang="pt" data-title="Módulo:Ustring" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Sinhala" lang="si" hreflang="si" data-title="Module:Ustring" data-language-autonym="සිංහල" data-language-local-name="Sinhala" class="interlanguage-link-target"><span>සිංහල</span></a></li><li class="interlanguage-link interwiki-simple mw-list-item"><a href="https://simple.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:Ustring" data-language-autonym="Simple English" data-language-local-name="Simple English" class="interlanguage-link-target"><span>Simple English</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Slovenian" lang="sl" hreflang="sl" data-title="Modul:Ustring" data-language-autonym="Slovenščina" data-language-local-name="Slovenian" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-ckb mw-list-item"><a href="https://ckb.wikipedia.org/wiki/%D9%85%DB%86%D8%AF%DB%8C%D9%88%D9%88%D9%84:Ustring" title="مۆدیوول:Ustring – Central Kurdish" lang="ckb" hreflang="ckb" data-title="مۆدیوول:Ustring" data-language-autonym="کوردی" data-language-local-name="Central Kurdish" class="interlanguage-link-target"><span>کوردی</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:Ustring" title="Модул:Ustring – Serbian" lang="sr" hreflang="sr" data-title="Модул:Ustring" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Tamil" lang="ta" hreflang="ta" data-title="Module:Ustring" data-language-autonym="தமிழ்" data-language-local-name="Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-shn mw-list-item"><a href="https://shn.wikipedia.org/wiki/%E1%80%99%E1%80%B1%E1%82%83%E1%82%87%E1%81%B5%E1%80%BB%E1%80%B0%E1%80%B8:Ustring" title="မေႃႇၵျူး:Ustring – Shan" lang="shn" hreflang="shn" data-title="မေႃႇၵျူး:Ustring" data-language-autonym="ၽႃႇသႃႇတႆး " data-language-local-name="Shan" class="interlanguage-link-target"><span>ၽႃႇသႃႇတႆး </span></a></li><li class="interlanguage-link interwiki-th mw-list-item"><a href="https://th.wikipedia.org/wiki/%E0%B8%A1%E0%B8%AD%E0%B8%94%E0%B8%B9%E0%B8%A5:Ustring" title="มอดูล:Ustring – Thai" lang="th" hreflang="th" data-title="มอดูล:Ustring" data-language-autonym="ไทย" data-language-local-name="Thai" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-tr mw-list-item"><a href="https://tr.wikipedia.org/wiki/Mod%C3%BCl:Ustring" title="Modül:Ustring – Turkish" lang="tr" hreflang="tr" data-title="Modül:Ustring" data-language-autonym="Türkçe" data-language-local-name="Turkish" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:Ustring" title="Модуль:Ustring – Ukrainian" lang="uk" hreflang="uk" data-title="Модуль:Ustring" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-vi mw-list-item"><a href="https://vi.wikipedia.org/wiki/M%C3%B4_%C4%91un:Ustring" title="Mô đun:Ustring – Vietnamese" lang="vi" hreflang="vi" data-title="Mô đun:Ustring" data-language-autonym="Tiếng Việt" data-language-local-name="Vietnamese" class="interlanguage-link-target"><span>Tiếng Việt</span></a></li><li class="interlanguage-link interwiki-zh-yue mw-list-item"><a href="https://zh-yue.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:Ustring" title="模組:Ustring – Cantonese" lang="yue" hreflang="yue" data-title="模組:Ustring" data-language-autonym="粵語" data-language-local-name="Cantonese" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Module:Ustring" title="Module:Ustring – Chinese" lang="zh" hreflang="zh" data-title="Module:Ustring" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-dtp mw-list-item"><a href="https://dtp.wikipedia.org/wiki/Modul:Ustring" title="Modul:Ustring – Central Dusun" lang="dtp" hreflang="dtp" data-title="Modul:Ustring" data-language-autonym="Kadazandusun" data-language-local-name="Central Dusun" class="interlanguage-link-target"><span>Kadazandusun</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q64632741#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-module" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Ustring" title="View the module page [c]" accesskey="c"><span>Module</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module_talk:Ustring&action=edit&redlink=1" rel="discussion" class="new" title="Discuss improvements to the content page (page does not exist) [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/Module:Ustring"><span>Read</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Ustring&action=edit" title="This page is protected. You can view its source [e]" accesskey="e"><span>View source</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Module:Ustring&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/Module:Ustring"><span>Read</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Ustring&action=edit"><span>View source</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=Module:Ustring&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/Module:Ustring" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/Module:Ustring" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages" title="A list of all special pages [q]" accesskey="q"><span>Special pages</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=Module:Ustring&oldid=1208349011" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=Module:Ustring&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FModule%3AUstring"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FModule%3AUstring"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-electronpdfservice-sidebar-portlet-heading" class="vector-menu mw-portlet mw-portlet-electronpdfservice-sidebar-portlet-heading" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="electron-print_pdf" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=Module%3AUstring&action=show-download-screen"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-species mw-list-item"><a href="https://species.wikimedia.org/wiki/Module:Ustring" hreflang="en"><span>Wikispecies</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q64632741" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> <div id="mw-indicator-pp-default" class="mw-indicator"><div class="mw-parser-output"><span typeof="mw:File"><a href="/wiki/Wikipedia:Protection_policy#full" title="This high-risk module is permanently protected to prevent vandalism"><img alt="Permanently protected module" src="//upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/20px-Full-protection-shackle.svg.png" decoding="async" width="20" height="20" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/30px-Full-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/4/44/Full-protection-shackle.svg/40px-Full-protection-shackle.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></div></div> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r1237875617">.mw-parser-output .documentation,.mw-parser-output .documentation-metadata{border:1px solid #a2a9b1;background-color:#ecfcf4;clear:both}.mw-parser-output .documentation{margin:1em 0 0 0;padding:1em}.mw-parser-output .documentation-metadata{margin:0.2em 0;font-style:italic;padding:0.4em 1em}.mw-parser-output .documentation-startbox{padding-bottom:3px;border-bottom:1px solid #aaa;margin-bottom:1ex}.mw-parser-output .documentation-heading{font-weight:bold;font-size:125%}.mw-parser-output .documentation-clear{clear:both}.mw-parser-output .documentation-toolbar{font-style:normal;font-size:85%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .documentation,html.skin-theme-clientpref-night .mw-parser-output .documentation-metadata{background-color:#0b1e1c}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .documentation,html.skin-theme-clientpref-os .mw-parser-output .documentation-metadata{background-color:#0b1e1c}}</style><div class="documentation-container" role="complementary" aria-labelledby="documentation-heading"> <div class="documentation"> <div class="documentation-startbox"> <span class="documentation-heading" id="documentation-heading"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/50px-Test_Template_Info-Icon_-_Version_%282%29.svg.png" decoding="async" width="50" height="22" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/75px-Test_Template_Info-Icon_-_Version_%282%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/4/43/Test_Template_Info-Icon_-_Version_%282%29.svg/100px-Test_Template_Info-Icon_-_Version_%282%29.svg.png 2x" data-file-width="1792" data-file-height="800" /></span></span> Module documentation</span><span class="mw-editsection-like plainlinks">[<a href="/wiki/Module:Ustring/doc" title="Module:Ustring/doc">view</a>] [<a href="/wiki/Special:EditPage/Module:Ustring/doc" title="Special:EditPage/Module:Ustring/doc">edit</a>] [<a href="/wiki/Special:PageHistory/Module:Ustring/doc" title="Special:PageHistory/Module:Ustring/doc">history</a>] [<a href="/wiki/Special:Purge/Module:Ustring" title="Special:Purge/Module:Ustring">purge</a>]</span></div> <style data-mw-deduplicate="TemplateStyles:r1238436933">.mw-parser-output .ombox{margin:4px 0;border-collapse:collapse;border:1px solid #a2a9b1;background-color:var(--background-color-neutral-subtle,#f8f9fa);box-sizing:border-box;color:var(--color-base,#202122)}.mw-parser-output .ombox.mbox-small{font-size:88%;line-height:1.25em}.mw-parser-output .ombox-speedy{border:2px solid #b32424;background-color:#fee7e6}.mw-parser-output .ombox-delete{border:2px solid #b32424}.mw-parser-output .ombox-content{border:1px solid #f28500}.mw-parser-output .ombox-style{border:1px solid #fc3}.mw-parser-output .ombox-move{border:1px solid #9932cc}.mw-parser-output .ombox-protection{border:2px solid #a2a9b1}.mw-parser-output .ombox .mbox-text{border:none;padding:0.25em 0.9em;width:100%}.mw-parser-output .ombox .mbox-image{border:none;padding:2px 0 2px 0.9em;text-align:center}.mw-parser-output .ombox .mbox-imageright{border:none;padding:2px 0.9em 2px 0;text-align:center}.mw-parser-output .ombox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ombox .mbox-invalid-type{text-align:center}@media(min-width:720px){.mw-parser-output .ombox{margin:4px 10%}.mw-parser-output .ombox.mbox-small{clear:right;float:right;margin:4px 0 4px 1em;width:238px}}body.skin--responsive .mw-parser-output table.ombox img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .ombox-speedy{background-color:#310402}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .ombox-speedy{background-color:#310402}}</style><table class="plainlinks ombox ombox-content" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Warning" src="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/40px-Ambox_important.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/b/b4/Ambox_important.svg/80px-Ambox_important.svg.png 2x" data-file-width="40" data-file-height="40" /></span></span></td><td class="mbox-text"><b>This Lua module is used in system messages</b>, and on <a class="external text" href="https://linkcount.toolforge.org/?project=en.wikipedia.org&page=Module%3AUstring#transclusions">approximately 744,000 pages, or roughly 1% of all pages</a>.<br />Changes to it can cause immediate changes to the Wikipedia user interface.<br /> To avoid major disruption and server load, any changes should be tested in the module's <a href="/wiki/Module:Ustring/sandbox" title="Module:Ustring/sandbox">/sandbox</a> or <a href="/wiki/Module:Ustring/testcases" title="Module:Ustring/testcases">/testcases</a> subpages, or in your own <a href="/wiki/Module:Sandbox" title="Module:Sandbox">module sandbox</a>. The tested changes can be added to this page in a single edit. Please discuss changes on the <a href="/w/index.php?title=Module_talk:Ustring&action=edit&redlink=1" class="new" title="Module talk:Ustring (page does not exist)">talk page</a> before implementing them.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox ombox-protection" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/en/thumb/0/0f/Cascade-protection-shackle.svg/40px-Cascade-protection-shackle.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/0/0f/Cascade-protection-shackle.svg/60px-Cascade-protection-shackle.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/0/0f/Cascade-protection-shackle.svg/80px-Cascade-protection-shackle.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">This module can only be edited by <a href="/wiki/Wikipedia:Administrators" title="Wikipedia:Administrators">administrators</a> because it is <a href="/wiki/Wikipedia:Transclusion" class="mw-redirect" title="Wikipedia:Transclusion">transcluded</a> onto one or more <a href="/wiki/Wikipedia:Protection_policy#Cascading_protection" title="Wikipedia:Protection policy">cascade-protected</a> pages.</td></tr></tbody></table> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238436933"><table class="plainlinks ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Ready for use" src="//upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/40px-Green_check.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/60px-Green_check.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/0/03/Green_check.svg/80px-Green_check.svg.png 2x" data-file-width="600" data-file-height="600" /></span></span></td><td class="mbox-text">This module is rated as <a href="/wiki/Category:Modules_for_general_use" title="Category:Modules for general use">ready for general use</a>. It has reached a mature form and is thought to be relatively bug-free and ready for use wherever appropriate. It is ready to mention on help pages and other Wikipedia resources as an option for new users to learn. To reduce server load and bad output, it should be improved by <a href="/wiki/Wikipedia:Template_sandbox_and_test_cases" title="Wikipedia:Template sandbox and test cases">sandbox testing</a> rather than repeated trial-and-error editing.</td></tr></tbody></table> <p>This module directly imports all functions from the <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_library" class="extiw" title="mw:Extension:Scribunto/Lua reference manual"><code style="white-space:nowrap;color:inherit;">mw.ustring</code></a> library. Documentation for each function can be found there. </p><p>The module takes an indefinite number of arguments. Arguments given as <code class="tpl-para" style="word-break:break-word;">|s1=</code>, <code class="tpl-para" style="word-break:break-word;">|s2=</code>, 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 "<code class="tpl-para" style="word-break:break-word;">|1=</code>", "<code class="tpl-para" style="word-break:break-word;">|2=</code>") to remain a string, you can simply escape it by inserting <code>\</code> at the beginning of the string. </p><p>Note that MediaWiki will always trim whitespace from named arguments; to give arguments with surrounding whitespace you must use unnamed parameters starting with <code>\</code>. </p> <table class="wikitable"> <caption>How to pass inconvenient strings </caption> <tbody><tr> <th>To pass this...</th> <th>Write this</th> <th>Explanation </th></tr> <tr> <td><code>" 0123 "</code></td> <td><code class="tpl-para" style="word-break:break-word;">|\ 123 </code></td> <td>To get surrounding whitespace must use unnamed, but must precede with <code>\</code> to indicate that it isn't a number. </td></tr> <tr> <td><code>"0123"</code></td> <td><code class="tpl-para" style="word-break:break-word;">|s1=0123</code></td> <td>If you don't need to preserve whitespace use <code class="tpl-para" style="word-break:break-word;">|s1=</code> etc. </td></tr> <tr> <td><code>"0123"</code></td> <td><code class="tpl-para" style="word-break:break-word;">|1=\0123</code></td> <td>If you don't need to preserve whitespace explicitly use <code class="tpl-para" style="word-break:break-word;">|1=</code> etc. </td></tr> <tr> <td>In another template, to pass its parameter <code>{{{1}}}</code>, preserving whitespace</td> <td><code class="tpl-para" style="word-break:break-word;">|\{{{1}}}</code></td> <td>Must provide the <code>\</code> with unknown string input. </td></tr> <tr> <td>In another template, to pass its parameter <code>{{{1}}}</code>, stripping whitespace</td> <td><code class="tpl-para" style="word-break:break-word;">|s1={{{1}}}</code></td> <td> </td></tr> <tr> <td>In another template, to pass its parameter <code>{{{1}}}</code>, stripping whitespace</td> <td><code class="tpl-para" style="word-break:break-word;">|1=\{{#if:1|{{{1}}}}}</code></td> <td> </td></tr></tbody></table> <p>You can also wrap results in tags. All other unused arguments will be passed to <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#frame:extensionTag" class="extiw" title="mw:Extension:Scribunto/Lua reference manual"><code style="white-space:nowrap;color:inherit;"> frame:extensionTag</code></a> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Usage">Usage</h2></div> <p><code>{{#invoke:Ustring|<i>function_name</i>|arg1|arg2|...}}</code> is equivalent to <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_library" class="extiw" title="mw:Extension:Scribunto/Lua reference manual"><code style="white-space:nowrap;color:inherit;">mw.ustring.<i>function_name</i><span style="color:initial;"><code class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><span class="p">(</span> <span class="n">arg1</span><span class="p">,</span> <span class="n">arg2</span><span class="p">,</span> <span class="p">...</span> <span class="p">)</span></code> </span></code></a> </p> <div class="mw-heading mw-heading3"><h3 id="Example_using_mw.ustring.sub">Example using mw.ustring.sub</h3></div> <p><code>{{#invoke:Ustring|sub|s1=abcde|2|4}}</code> </p><p>produces: </p><p>bcd </p> <div class="mw-heading mw-heading3"><h3 id="Example_using_mw.ustring.gsub">Example using mw.ustring.gsub</h3></div> <p><code>{{#invoke:Ustring|gsub|s1=1234|23|}}</code> </p><p>produces: </p><p>14 </p> <div class="mw-heading mw-heading3"><h3 id="Example_using_mw.ustring.char">Example using mw.ustring.char</h3></div> <p><code>&amp;#{{#invoke:ustring|char|49|48|59}}</code> </p><p>produces: </p><p>&#10; </p> <div class="mw-heading mw-heading3"><h3 id="Example_using_mw.ustring.match">Example using mw.ustring.match</h3></div> <p><code>{{#invoke:Ustring|match|s1=abcde|s2=(c%w)}}</code> </p><p>produces: </p><p>cd </p><p>Note: Only the first match is returned. Additional returns are omitted because mw.ustring.gsub's second return value is generally undesirable. </p> <div class="mw-heading mw-heading3"><h3 id="Example_using_tag_arguments">Example using tag arguments</h3></div> <pre>{{#invoke:Ustring|match |s1={{Module:Ustring}}|%s%s%sif%snot%s[^%s]+%sthen.+% <!--enter an actual newline character to match '\n'-->%s%s%send |tag=syntaxhighlight|lang=lua}}</pre> <p>produces: </p> <div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span> <span class="kr">if</span> <span class="ow">not</span> <span class="n">fargs</span><span class="p">.</span><span class="n">tag</span> <span class="kr">then</span> <span class="kr">return</span> <span class="p">(</span><span class="n">what</span><span class="p">(</span><span class="n">unpack</span><span class="p">(</span><span class="n">args</span><span class="p">)))</span> <span class="c1">-- Outside parens truncate to first result avoiding tail call</span> <span class="kr">end</span> <span class="kd">local</span> <span class="n">tagargs</span> <span class="o">=</span> <span class="p">{}</span> <span class="kr">for</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">fargs</span><span class="p">)</span> <span class="kr">do</span> <span class="kr">if</span> <span class="ow">not</span> <span class="n">fargsused</span><span class="p">[</span><span class="n">x</span><span class="p">]</span> <span class="kr">then</span> <span class="n">tagargs</span><span class="p">[</span><span class="n">x</span><span class="p">]</span> <span class="o">=</span> <span class="n">y</span> <span class="kr">end</span> <span class="kr">end</span> </pre></div> <p>Note that: </p> <pre><syntaxhighlight lang="lua">{{#invoke:Ustring|match |s1={{Module:Ustring}}|%s%s%sif%snot%s[^%s]+%sthen.+% <!--enter an actual newline character to match '\n'-->%s%s%send}}</syntaxhighlight></pre> <p>produces: </p> <div class="mw-highlight mw-highlight-lang-lua mw-content-ltr" dir="ltr"><pre><span></span><span class="p">{{</span><span class="o">#</span><span class="n">invoke</span><span class="p">:</span><span class="n">Ustring</span><span class="o">|</span><span class="n">match</span> <span class="o">|</span><span class="n">s1</span><span class="o">=</span><span class="p">{{</span><span class="n">Module</span><span class="p">:</span><span class="n">Ustring</span><span class="p">}}</span><span class="o">|%</span><span class="n">s</span><span class="o">%</span><span class="n">s</span><span class="o">%</span><span class="n">sif</span><span class="o">%</span><span class="n">snot</span><span class="o">%</span><span class="n">s</span><span class="p">[</span><span class="o">^%</span><span class="n">s</span><span class="p">]</span><span class="o">+%</span><span class="n">sthen</span><span class="p">.</span><span class="o">+%</span> <span class="o"><</span><span class="err">!</span><span class="c1">--enter an actual newline character to match '\n'-->%s%s%send}}</span> </pre></div> <div class="mw-heading mw-heading2"><h2 id="Errors">Errors</h2></div> <p>Errors from accessing <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_library" class="extiw" title="mw:Extension:Scribunto/Lua reference manual"><code style="white-space:nowrap;color:inherit;">mw.ustring</code></a> should be maintained, e.g.: </p><p><code>{{#invoke:Ustring|xyzzy}}</code> </p><p>should produce: </p><p><strong class="error"><span class="scribunto-error">Script error: The function "xyzzy" does not exist.</span></strong> </p><p>and </p><p><code>{{#invoke:Ustring|maxPatternLength}}</code> </p><p>should produce: </p><p><strong class="error"><span class="scribunto-error">Script error: "maxPatternLength" is not a function.</span></strong> </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="String-handling_templates_(help_page)" style="padding:3px"><table class="nowraplinks plainlist mw-collapsible expanded navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374"><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:String-handling_templates" title="Template:String-handling templates"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:String-handling_templates" title="Template talk:String-handling templates"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:String-handling_templates" title="Special:EditPage/Template:String-handling templates"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="String-handling_templates_(help_page)" style="font-size:114%;margin:0 4em">String-handling templates <a href="/wiki/Help:Manipulating_strings" title="Help:Manipulating strings">(help page)</a></div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Substring_(select_chunk_of_string_by_its_position)" style="font-size:114%;margin:0 4em">Substring (select chunk of string by its position)</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><table style="width:100%;border-collapse:collapse;border-spacing:0px 0px;border:none;text-align: left;"><tbody><tr style="vertical-align:top"><td style="width:50%;;"> <table style="padding-right: 2em;"><tbody><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_sub_new" title="Template:Str sub new">str sub new</a><span class="nowrap">}}</span></td><td> Select a substring based on starting and ending index counted in either direction.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_left" title="Template:Str left">str left</a><span class="nowrap">}}</span></td><td> Keep the first N characters of a string, or duplicate it to N characters.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_crop" title="Template:Str crop">str crop</a><span class="nowrap">}}</span></td><td> Return all but the last N characters of a string.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_index" title="Template:Str index">str index</a><span class="nowrap">}}</span></td><td> Return the N-th character of a string.</td></tr></tbody></table></td><td> <table><tbody><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_right" title="Template:Str right">str right</a><span class="nowrap">}}</span></td><td> Return substring starting at N-th character to end of string.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_rightc" title="Template:Str rightc">str rightc</a><span class="nowrap">}}</span></td><td> Return the last N characters of a string; or a given value if empty.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_sub_old" title="Template:Str sub old">str sub old</a><span class="nowrap">}}</span></td><td> Return substring of given length starting at N-th character.</td></tr></tbody></table></td></tr></tbody></table></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Trimming_(select/remove_chunk_of_string_by_character_type)" style="font-size:114%;margin:0 4em">Trimming (select/remove chunk of string by character type)</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><table style="width:100%;border-collapse:collapse;border-spacing:0px 0px;border:none;text-align: left;"><tbody><tr style="vertical-align:top"><td style="width:50%;;"> <table style="padding-right: 2em;"><tbody><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Trim" title="Template:Trim">trim</a><span class="nowrap">}}</span></td><td> Trim any leading or trailing whitespace</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_letter/trim" title="Template:Str letter/trim">str letter/trim</a><span class="nowrap">}}</span></td><td> Trim down to the beginning letters.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_number/trim" title="Template:Str number/trim">str number/trim</a><span class="nowrap">}}</span></td><td> Trim down to the beginning numbers.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Trim_brackets" title="Template:Trim brackets">trim brackets</a><span class="nowrap">}}</span></td><td> Trim any leading or trailing square brackets.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Trim_quotes" title="Template:Trim quotes">trim quotes</a><span class="nowrap">}}</span></td><td> Trim leading or trailing matching quotes.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Trim_leading" title="Template:Trim leading">trim leading</a><span class="nowrap">}}</span></td><td> Trim up to six instances of specified <prefix>.</td></tr></tbody></table></td><td> <table><tbody><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:String_split" title="Template:String split">string split</a><span class="nowrap">}}</span></td><td> Extract a short string from a long string.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:First_word" title="Template:First word">first word</a><span class="nowrap">}}</span></td><td> Trim down to the first space.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Remove_first_word" title="Template:Remove first word">remove first word</a><span class="nowrap">}}</span></td><td> Remove anything before the first space.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Last_word" title="Template:Last word">last word</a><span class="nowrap">}}</span></td><td> Trim down from the last space.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Remove_last_word" title="Template:Remove last word">remove last word</a><span class="nowrap">}}</span></td><td> Remove anything after the last space.</td></tr></tbody></table></td></tr></tbody></table></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Select/remove_specific_item_from_string" style="font-size:114%;margin:0 4em">Select/remove specific item from string</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><table style="width:100%;border-collapse:collapse;border-spacing:0px 0px;border:none;text-align:left;"><tbody><tr style="vertical-align:top"><td style="width:50%;;"> <table style="padding-right: 2em;"><tbody><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Delink" title="Template:Delink">delink</a><span class="nowrap">}}</span>, <span class="nowrap">{{</span><a href="/wiki/Template:Trim_brackets" title="Template:Trim brackets">trim brackets</a><span class="nowrap">}}</span></td><td> Removes wikilink brackets (wikicode); <i>all</i> or <i>outer only</i>.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Plain_text" title="Template:Plain text">Plain text</a><span class="nowrap">}}</span></td><td> Removes wikicode (formatting and brackets)</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:PAGENAMEBASE" title="Template:PAGENAMEBASE">PAGENAMEBASE</a><span class="nowrap">}}</span></td><td> Trim off any parenthesis text at the end of a string (disambiguation).</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Title_disambig_text" title="Template:Title disambig text">title disambig text</a><span class="nowrap">}}</span></td><td> Returns text in parentheses at the end of a string (disambiguation).</td></tr></tbody></table></td><td> <table><tbody><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Title_year" title="Template:Title year">title year</a><span class="nowrap">}}</span></td><td> Returns the 3-or-4-digit year from a pagename, if any.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Title_decade" title="Template:Title decade">title decade</a><span class="nowrap">}}</span></td><td> Returns the 4-digit decade from a pagename (e.g. "1740" from "Foo 1740s bar"), if any.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Title_number" title="Template:Title number">title number</a><span class="nowrap">}}</span></td><td> Returns any number from a pagename.</td></tr><tr style="vertical-align:top"><td style="width: 12em; text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:WikiProjectbasename" title="Template:WikiProjectbasename">WikiProjectbasename</a><span class="nowrap">}}</span></td><td> Removes "WikiProject" from a pagename.</td></tr></tbody></table></td></tr></tbody></table></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Insertion,_replacement_and_length" style="font-size:114%;margin:0 4em">Insertion, replacement and length</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><table style="margin: 0 auto 0; text-align: left;"><tbody><tr style="vertical-align:top"><td> <table style="padding-right: 2em;"><tbody><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Loop" title="Template:Loop">loop</a><span class="nowrap">}}</span></td><td> Repeat character string a specified number of times.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Replace" title="Template:Replace">replace</a><span class="nowrap">}}</span></td><td> Returns the string, after replacing <i>all</i> occurrences of a specified string with another string.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_rep" title="Template:Str rep">str rep</a><span class="nowrap">}}</span></td><td> Returns the string, after replacing the first occurrence of a specified string with another string.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Digits" title="Template:Digits">digits</a><span class="nowrap">}}</span></td><td> Returns the string, after removing all characters that are not digits 0–9</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Nowiki" title="Template:Nowiki">Nowiki</a><span class="nowrap">}}</span></td><td> Displays wikitext as plain text.</td></tr></tbody></table></td><td> <table><tbody><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_len" title="Template:Str len">str len</a><span class="nowrap">}}</span></td><td> Returns a string's length.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_%E2%89%A5_len" title="Template:Str ≥ len">str ≥ len</a><span class="nowrap">}}</span></td><td> Check if a string is "longer or equally long" or "shorter" than a given length.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_%E2%89%A4_len" title="Template:Str ≤ len">str ≤ len</a><span class="nowrap">}}</span></td><td> Check if a string is "shorter or equally long" or "longer" than a given length.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_%E2%89%A0_len" title="Template:Str ≠ len">str ≠ len</a><span class="nowrap">}}</span></td><td> Check if a string is "not equal" or "equal" to a given length.</td></tr></tbody></table></td></tr></tbody></table></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Analysis_and_searching" style="font-size:114%;margin:0 4em">Analysis and searching</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><table style="margin: 0 auto 0; text-align: left;"><tbody><tr style="vertical-align:top"><td> <table style="padding-right: 2em;"><tbody><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_startswith" title="Template:Str startswith">str startswith</a><span class="nowrap">}}</span><br /><span class="nowrap">{{</span><a href="/wiki/Template:Str_endswith" title="Template:Str endswith">str endswith</a><span class="nowrap">}}</span></td><td> Check if a string starts or ends with a given string.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_find" title="Template:Str find">str find</a><span class="nowrap">}}</span>, <span class="nowrap">{{</span><a href="/wiki/Template:Strfind_short" title="Template:Strfind short">strfind short</a><span class="nowrap">}}</span></td><td style="vertical-align:middle;"> Returns the numerical location of a given string in a string.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_count" title="Template:Str count">str count</a><span class="nowrap">}}</span></td><td> Count the number of occurrences of a pattern within a string.</td></tr></tbody></table></td><td> <table><tbody><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Array" title="Template:Array">Array</a><span class="nowrap">}}</span></td><td> Array item manipulation and retrieval.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:A_or_an" title="Template:A or an">a or an</a><span class="nowrap">}}</span></td><td> Takes a noun and produces the appropriate indefinite article, based on whether the first letter is a vowel.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:In_string" title="Template:In string">in string</a><span class="nowrap">}}</span></td><td> Returns optional string when given string is not found</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Isnumeric" title="Template:Isnumeric">Isnumeric</a><span class="nowrap">}}</span></td><td> Returns number when true, blank when not numeric.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_letter" title="Template:Str letter">str letter</a><span class="nowrap">}}</span></td><td> Returns the number of letters that begin a string.</td></tr><tr style="vertical-align:top"><td style="text-align: right; padding-right: 0.75em;"> <span class="nowrap">{{</span><a href="/wiki/Template:Str_number" title="Template:Str number">str number</a><span class="nowrap">}}</span></td><td> Returns the number of numbers that begin a string.</td></tr></tbody></table></td></tr></tbody></table></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible expanded navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Modules_and_built-in_functions" style="font-size:114%;margin:0 4em">Modules and built-in functions</div></th></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"><div class="div-col" style="text-align:left"> <ul><li><a href="/wiki/Module:String" title="Module:String">Module:String</a>, <a href="/wiki/Module:String2" title="Module:String2">Module:String2</a>, <a class="mw-selflink selflink">Module:Ustring</a>, <a href="/wiki/Module:Text" title="Module:Text">Module:Text</a>, <a href="/wiki/Template:Navbox_wikitext-handling_templates" title="Template:Navbox wikitext-handling templates">wikitext handling</a>: modules that together contain most necessary string functions.</li> <li><a href="https://www.mediawiki.org/wiki/Help:Magic_words" class="extiw" title="mw:Help:Magic words">Magic words</a>: About <code>{{padleft:|}}</code>, <code>{{lc:|}}</code>, <code>{{formatnum:|}}</code> etc.</li> <li><a href="https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions" class="extiw" title="mw:Help:Extension:ParserFunctions">ParserFunctions</a>: About <code>{{#titleparts:|}}, {{#expr:|}}, {{#ifeq:|}}, </code> etc.</li></ul></div></div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow hlist" colspan="2"><div> <li><a href="/wiki/Category:String_manipulation_templates" title="Category:String manipulation templates">Category:String manipulation templates</a> <ul><li><a href="https://commons.wikimedia.org/wiki/Category:String_manipulation_templates" class="extiw" title="c:Category:String manipulation templates">Commons</a></li> <li><a href="https://www.mediawiki.org/wiki/Category:String_manipulation_templates" class="extiw" title="mw:Category:String manipulation templates">MediaWiki</a></li> <li><a href="https://meta.wikimedia.org/wiki/Category:String_manipulation_templates" class="extiw" title="m:Category:String manipulation templates">Meta-Wiki</a></li> <li><a href="https://www.wikidata.org/wiki/Category:String_manipulation_templates" class="extiw" title="d:Category:String manipulation templates">Wikidata</a></li></ul></li> <li><a href="/wiki/Category:Modules_that_manipulate_strings" title="Category:Modules that manipulate strings">Category:Modules that manipulate strings</a></li> </div></td></tr></tbody></table></div> <div class="documentation-clear"></div> </div> <div role="note" class="documentation-metadata plainlinks">The above <a href="/wiki/Wikipedia:Template_documentation" title="Wikipedia:Template documentation">documentation</a> is <a href="/wiki/Help:Transclusion" title="Help:Transclusion">transcluded</a> from <a href="/wiki/Module:Ustring/doc" title="Module:Ustring/doc">Module:Ustring/doc</a>. <span class="documentation-toolbar">(<a href="/wiki/Special:EditPage/Module:Ustring/doc" title="Special:EditPage/Module:Ustring/doc">edit</a> | <a href="/wiki/Special:PageHistory/Module:Ustring/doc" title="Special:PageHistory/Module:Ustring/doc">history</a>)</span><br />Editors can experiment in this module's <a href="/wiki/Module:Ustring/sandbox" title="Module:Ustring/sandbox">sandbox</a> <span class="documentation-toolbar">(<a href="/wiki/Special:EditPage/Module:Ustring/sandbox" title="Special:EditPage/Module:Ustring/sandbox">edit</a> | <a class="external text" href="https://en.wikipedia.org/w/index.php?title=Special%3AComparePages&page1=Module%3AUstring&page2=Module%3AUstring%2Fsandbox">diff</a>)</span> and <a href="/wiki/Module:Ustring/testcases" title="Module:Ustring/testcases">testcases</a> <span class="documentation-toolbar">(<a href="/wiki/Special:EditPage/Module:Ustring/testcases" title="Special:EditPage/Module:Ustring/testcases">edit</a> | <a href="/wiki/Module_talk:Ustring/testcases" title="Module talk:Ustring/testcases">run</a>)</span> pages.<br /> <a href="/wiki/Special:PrefixIndex/Module:Ustring/" title="Special:PrefixIndex/Module:Ustring/">Subpages of this module</a>.</div></div> <p><span id="code"></span> </p><div class="mw-highlight mw-highlight-lang-lua mw-content-ltr mw-highlight-lines" dir="ltr"><pre><span></span><span id="L-1"><a href="#L-1"><span class="linenos" data-line="1"></span></a><span class="nb">require</span><span class="p">(</span><span class="s1">'strict'</span><span class="p">)</span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a><span class="kr">return</span> <span class="nb">setmetatable</span><span class="p">({},</span> <span class="p">{</span> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a> <span class="n">__index</span> <span class="o">=</span> <span class="kr">function</span><span class="p">(</span><span class="n">t</span><span class="p">,</span> <span class="n">k</span><span class="p">)</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a> <span class="kd">local</span> <span class="n">what</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">[</span><span class="n">k</span><span class="p">]</span> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span><span class="n">what</span><span class="p">)</span> <span class="o">~=</span> <span class="s2">"function"</span> <span class="kr">then</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a> <span class="kr">return</span> <span class="n">what</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a> <span class="kr">end</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a> <span class="kr">return</span> <span class="kr">function</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a> <span class="kd">local</span> <span class="n">fargs</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a> <span class="kd">local</span> <span class="n">fargsused</span> <span class="o">=</span> <span class="p">{</span> <span class="n">tag</span> <span class="o">=</span> <span class="kc">true</span> <span class="p">}</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a> <span class="kd">local</span> <span class="n">str_i</span> <span class="o">=</span> <span class="mi">1</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a> <span class="kr">while</span> <span class="n">fargs</span><span class="p">[</span><span class="s1">'s'</span> <span class="o">..</span> <span class="n">str_i</span><span class="p">]</span> <span class="kr">do</span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a> <span class="n">fargsused</span><span class="p">[</span><span class="s1">'s'</span> <span class="o">..</span> <span class="n">str_i</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a> <span class="n">args</span><span class="p">[</span><span class="n">str_i</span><span class="p">]</span> <span class="o">=</span> <span class="n">fargs</span><span class="p">[</span><span class="s1">'s'</span> <span class="o">..</span> <span class="n">str_i</span><span class="p">]</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a> <span class="n">str_i</span> <span class="o">=</span> <span class="n">str_i</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a> <span class="kr">end</span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a> <span class="kr">for</span> <span class="n">i</span><span class="p">,</span> <span class="n">v</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span><span class="n">fargs</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a> <span class="n">fargsused</span><span class="p">[</span><span class="n">i</span><span class="p">]</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a> <span class="n">args</span><span class="p">[</span><span class="n">i</span> <span class="o">+</span> <span class="n">str_i</span> <span class="o">-</span> <span class="mi">1</span><span class="p">]</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">v</span><span class="p">)</span> <span class="ow">or</span> <span class="n">v</span><span class="p">:</span><span class="n">gsub</span><span class="p">(</span><span class="s2">"^</span><span class="se">\\</span><span class="s2">"</span><span class="p">,</span> <span class="s2">""</span><span class="p">,</span> <span class="mi">1</span><span class="p">)</span> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a> <span class="kr">end</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">fargs</span><span class="p">.</span><span class="n">tag</span> <span class="kr">then</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a> <span class="kr">return</span> <span class="p">(</span><span class="n">what</span><span class="p">(</span><span class="n">unpack</span><span class="p">(</span><span class="n">args</span><span class="p">)))</span> <span class="c1">-- Outside parens truncate to first result avoiding tail call</span> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a> <span class="kr">end</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a> <span class="kd">local</span> <span class="n">tagargs</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a> <span class="kr">for</span> <span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="kr">in</span> <span class="nb">pairs</span><span class="p">(</span><span class="n">fargs</span><span class="p">)</span> <span class="kr">do</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">fargsused</span><span class="p">[</span><span class="n">x</span><span class="p">]</span> <span class="kr">then</span> <span class="n">tagargs</span><span class="p">[</span><span class="n">x</span><span class="p">]</span> <span class="o">=</span> <span class="n">y</span> <span class="kr">end</span> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a> <span class="kr">end</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a> <span class="kr">return</span> <span class="n">frame</span><span class="p">:</span><span class="n">extensionTag</span><span class="p">{</span><span class="n">name</span> <span class="o">=</span> <span class="n">fargs</span><span class="p">.</span><span class="n">tag</span><span class="p">,</span> <span class="n">content</span> <span class="o">=</span> <span class="n">what</span><span class="p">(</span><span class="n">unpack</span><span class="p">(</span><span class="n">args</span><span class="p">)),</span> <span class="n">args</span> <span class="o">=</span> <span class="n">tagargs</span><span class="p">}</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a> <span class="kr">end</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a> <span class="kr">end</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a><span class="p">})</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐5c59558b9d‐bqmch Cached time: 20241201094306 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.301 seconds Real time usage: 0.402 seconds Preprocessor visited node count: 2286/1000000 Post‐expand include size: 173107/2097152 bytes Template argument size: 4311/2097152 bytes Highest expansion depth: 19/100 Expensive parser function count: 7/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 18164/5000000 bytes Lua time usage: 0.174/10.000 seconds Lua memory usage: 3473319/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 285.450 1 -total 100.00% 285.450 1 Module:Ustring/doc 55.87% 159.495 1 Template:String_handling_templates 23.33% 66.583 15 Template:Aligned_table 16.83% 48.053 4 Template:Luaref 15.88% 45.316 1 Template:Used_in_system 14.40% 41.096 8 Template:Escape 10.67% 30.460 4 Template:Replace 6.19% 17.672 4 Template:Scribunto/helper 4.62% 13.178 47 Template:Tl --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1&useformat=desktop" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=Module:Ustring&oldid=1208349011">https://en.wikipedia.org/w/index.php?title=Module:Ustring&oldid=1208349011</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Modules_for_general_use" title="Category:Modules for general use">Modules for general use</a></li><li><a href="/wiki/Category:Modules_that_manipulate_strings" title="Category:Modules that manipulate strings">Modules that manipulate strings</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden category: <ul><li><a href="/wiki/Category:Wikipedia_fully_protected_modules" title="Category:Wikipedia fully protected modules">Wikipedia fully protected modules</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 17 February 2024, at 04:51<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=Module:Ustring&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/static/images/footer/wikimedia-button.svg" width="84" height="29" alt="Wikimedia Foundation" loading="lazy"></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><img src="/w/resources/assets/poweredby_mediawiki.svg" alt="Powered by MediaWiki" width="88" height="31" loading="lazy"></a></li> </ul> </footer> </div> </div> </div> <div class="vector-settings" id="p-dock-bottom"> <ul></ul> </div><script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.codfw.main-5c59558b9d-bqmch","wgBackendResponseTime":633,"wgPageParseReport":{"limitreport":{"cputime":"0.301","walltime":"0.402","ppvisitednodes":{"value":2286,"limit":1000000},"postexpandincludesize":{"value":173107,"limit":2097152},"templateargumentsize":{"value":4311,"limit":2097152},"expansiondepth":{"value":19,"limit":100},"expensivefunctioncount":{"value":7,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":18164,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 285.450 1 -total","100.00% 285.450 1 Module:Ustring/doc"," 55.87% 159.495 1 Template:String_handling_templates"," 23.33% 66.583 15 Template:Aligned_table"," 16.83% 48.053 4 Template:Luaref"," 15.88% 45.316 1 Template:Used_in_system"," 14.40% 41.096 8 Template:Escape"," 10.67% 30.460 4 Template:Replace"," 6.19% 17.672 4 Template:Scribunto/helper"," 4.62% 13.178 47 Template:Tl"]},"scribunto":{"limitreport-timeusage":{"value":"0.174","limit":"10.000"},"limitreport-memusage":{"value":3473319,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-5c59558b9d-bqmch","timestamp":"20241201094306","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>