CINXE.COM
Mô đun:String – Wikipedia tiếng Việt
<!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="vi" dir="ltr"> <head> <meta charset="UTF-8"> <title>Mô đun:String – Wikipedia tiếng Việt</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(/(?:^|; )viwikimwclientpreferences=([^;]+)/);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":[",\t.",".\t,"],"wgDigitTransformTable":["",""], "wgDefaultDateFormat":"vi normal","wgMonthNames":["","tháng 1","tháng 2","tháng 3","tháng 4","tháng 5","tháng 6","tháng 7","tháng 8","tháng 9","tháng 10","tháng 11","tháng 12"],"wgRequestId":"cfa58788-c71e-470c-9353-b93910784f51","wgCanonicalNamespace":"Module","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":828,"wgPageName":"Mô_đun:String","wgTitle":"String","wgCurRevisionId":64170482,"wgRevisionId":64170482,"wgArticleId":1744159,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Trang bị khóa hẳn","Modules that add a tracking category","Modules that manipulate strings"],"wgPageViewLanguage":"vi","wgPageContentLanguage":"vi","wgPageContentModel":"Scribunto","wgRelevantPageName":"Mô_đun:String","wgRelevantArticleId":1744159,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":["sysop"],"wgRestrictionMove":["sysop"],"wgNoticeProject":"wikipedia", "wgCiteReferencePreviewsActive":false,"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":true,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":20000,"wgRelatedArticlesCompat":[],"wgCentralAuthMobileDomain":false,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q7253814","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false};RLSTATE={ "ext.gadget.charinsert-styles":"ready","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.did_you_mean","ext.gadget.ReferenceTooltips","ext.gadget.AVIM","ext.gadget.AVIM_portlet","ext.gadget.charinsert","ext.gadget.refToolbar","ext.gadget.wikibugs","ext.gadget.purgetab","ext.gadget.switcher","ext.gadget.AdvancedSiteNotices","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=vi&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=vi&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=vi&modules=ext.gadget.charinsert-styles&only=styles&skin=vector-2022"> <link rel="stylesheet" href="/w/load.php?lang=vi&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.4"> <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="Mô đun:String – Wikipedia tiếng Việt"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//vi.m.wikipedia.org/wiki/M%C3%B4_%C4%91un:String"> <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 (vi)"> <link rel="EditURI" type="application/rsd+xml" href="//vi.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://vi.wikipedia.org/wiki/M%C3%B4_%C4%91un:String"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.vi"> <link rel="alternate" type="application/atom+xml" title="Nguồn cấp Atom của Wikipedia" href="/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t:Thay_%C4%91%E1%BB%95i_g%E1%BA%A7n_%C4%91%C3%A2y&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-Mô_đun_String rootpage-Mô_đun_String skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Bước tới nội dung</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="Trang Web"> <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="Trình đơn chính" > <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">Trình đơn chính</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">Trình đơn chính</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">chuyển sang thanh bên</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">ẩn</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Điều hướng </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Trang_Ch%C3%ADnh" title="Xem trang chính [z]" accesskey="z"><span>Trang Chính</span></a></li><li id="n-wikipedia-featuredcontent" class="mw-list-item"><a href="/wiki/C%E1%BB%95ng_th%C3%B4ng_tin:N%E1%BB%99i_dung_ch%E1%BB%8Dn_l%E1%BB%8Dc"><span>Nội dung chọn lọc</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ng%E1%BA%ABu_nhi%C3%AAn" title="Xem trang ngẫu nhiên [x]" accesskey="x"><span>Bài viết ngẫu nhiên</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Thay_%C4%91%E1%BB%95i_g%E1%BA%A7n_%C4%91%C3%A2y" title="Danh sách thay đổi gần đây trong wiki [r]" accesskey="r"><span>Thay đổi gần đây</span></a></li><li id="n-bug_in_article" class="mw-list-item"><a href="/wiki/Wikipedia:B%C3%A1o_l%E1%BB%97i_b%C3%A0i_vi%E1%BA%BFt"><span>Báo lỗi nội dung</span></a></li> </ul> </div> </div> <div id="p-wikipedia-interaction" class="vector-menu mw-portlet mw-portlet-wikipedia-interaction" > <div class="vector-menu-heading"> Tương tác </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-wikipedia-helppage" class="mw-list-item"><a href="/wiki/Wikipedia:S%C3%A1ch_h%C6%B0%E1%BB%9Bng_d%E1%BA%ABn"><span>Hướng dẫn</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:Gi%E1%BB%9Bi_thi%E1%BB%87u"><span>Giới thiệu Wikipedia</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:C%E1%BB%99ng_%C4%91%E1%BB%93ng" title="Giới thiệu dự án, cách sử dụng và tìm kiếm thông tin ở đây"><span>Cộng đồng</span></a></li><li id="n-wikipedia-villagepump" class="mw-list-item"><a href="/wiki/Wikipedia:Th%E1%BA%A3o_lu%E1%BA%ADn"><span>Thảo luận chung</span></a></li><li id="n-wikipedia-helpdesk" class="mw-list-item"><a href="/wiki/Wikipedia:Gi%C3%BAp_s%E1%BB%AD_d%E1%BB%A5ng_Wikipedia"><span>Giúp sử dụng</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//vi.wikipedia.org/wiki/Wikipedia:Liên_lạc"><span>Liên lạc</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:Tr%C3%ACnh_t%E1%BA%A3i_l%C3%AAn_t%E1%BA%ADp_tin"><span>Tải lên tập tin</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Trang_Ch%C3%ADnh" 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="Bách khoa toàn thư mở" src="/static/images/mobile/copyright/wikipedia-tagline-vi.svg" width="120" height="10" style="width: 7.5em; height: 0.625em;"> </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/%C4%90%E1%BA%B7c_bi%E1%BB%87t:T%C3%ACm_ki%E1%BA%BFm" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Tìm kiếm Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Tìm kiếm</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="Tìm kiếm trên Wikipedia" aria-label="Tìm kiếm trên Wikipedia" autocapitalize="sentences" title="Tìm kiếm 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="Đặc_biệt:Tìm_kiếm"> </div> <button class="cdx-button cdx-search-input__end-button">Tìm kiếm</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Công cụ cá nhân"> <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="Giao diện"> <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="Giao diện" > <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">Giao diện</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="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_vi.wikipedia.org&uselang=vi" class=""><span>Quyên góp</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=%C4%90%E1%BA%B7c_bi%E1%BB%87t:M%E1%BB%9F_t%C3%A0i_kho%E1%BA%A3n&returnto=M%C3%B4+%C4%91un%3AString" title="Bạn được khuyến khích mở tài khoản và đăng nhập; tuy nhiên, không bắt buộc phải có tài khoản" class=""><span>Tạo tài khoản</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=%C4%90%E1%BA%B7c_bi%E1%BB%87t:%C4%90%C4%83ng_nh%E1%BA%ADp&returnto=M%C3%B4+%C4%91un%3AString" title="Đăng nhập sẽ có lợi hơn, tuy nhiên không bắt buộc. [o]" accesskey="o" class=""><span>Đăng nhập</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="Thêm tùy chọn" > <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="Công cụ cá nhân" > <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">Công cụ cá nhân</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="Bảng chọn thành viên" > <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="//donate.wikimedia.org/wiki/Special:FundraiserRedirector?utm_source=donate&utm_medium=sidebar&utm_campaign=C13_vi.wikipedia.org&uselang=vi"><span>Quyên góp</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t:M%E1%BB%9F_t%C3%A0i_kho%E1%BA%A3n&returnto=M%C3%B4+%C4%91un%3AString" title="Bạn được khuyến khích mở tài khoản và đăng nhập; tuy nhiên, không bắt buộc phải có tài khoản"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Tạo tài khoản</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t:%C4%90%C4%83ng_nh%E1%BA%ADp&returnto=M%C3%B4+%C4%91un%3AString" title="Đăng nhập sẽ có lợi hơn, tuy nhiên không bắt buộc. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Đăng nhập</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"> Trang dành cho người dùng chưa đăng nhập <a href="/wiki/Tr%E1%BB%A3_gi%C3%BAp:Gi%E1%BB%9Bi_thi%E1%BB%87u" aria-label="Tìm hiểu thêm về sửa đổi"><span>tìm hiểu thêm</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/%C4%90%E1%BA%B7c_bi%E1%BB%87t:%C4%90%C3%B3ng_g%C3%B3p_c%E1%BB%A7a_t%C3%B4i" title="Danh sách các sửa đổi được thực hiện qua địa chỉ IP này [y]" accesskey="y"><span>Đóng góp</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Th%E1%BA%A3o_lu%E1%BA%ADn_t%C3%B4i" title="Thảo luận với địa chỉ IP này [n]" accesskey="n"><span>Thảo luận cho địa chỉ IP này</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="Trang Web"> <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="Nội dung" 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">Nội dung</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">chuyển sang thanh bên</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">ẩn</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">Đầu</div> </a> </li> <li id="toc-Global_options" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Global_options"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Global options</span> </div> </a> <ul id="toc-Global_options-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-len" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#len"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>len</span> </div> </a> <ul id="toc-len-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-sub" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#sub"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>sub</span> </div> </a> <ul id="toc-sub-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-sublength" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#sublength"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>sublength</span> </div> </a> <ul id="toc-sublength-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-match" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#match"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>match</span> </div> </a> <ul id="toc-match-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-pos" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#pos"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>pos</span> </div> </a> <ul id="toc-pos-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-str_find" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#str_find"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>str_find</span> </div> </a> <ul id="toc-str_find-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-find" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#find"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>find</span> </div> </a> <ul id="toc-find-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-replace_(gsub)" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#replace_(gsub)"> <div class="vector-toc-text"> <span class="vector-toc-numb">9</span> <span>replace (gsub)</span> </div> </a> <ul id="toc-replace_(gsub)-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-rep" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#rep"> <div class="vector-toc-text"> <span class="vector-toc-numb">10</span> <span>rep</span> </div> </a> <ul id="toc-rep-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-escapePattern" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#escapePattern"> <div class="vector-toc-text"> <span class="vector-toc-numb">11</span> <span>escapePattern</span> </div> </a> <ul id="toc-escapePattern-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-count" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#count"> <div class="vector-toc-text"> <span class="vector-toc-numb">12</span> <span>count</span> </div> </a> <ul id="toc-count-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-join" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#join"> <div class="vector-toc-text"> <span class="vector-toc-numb">13</span> <span>join</span> </div> </a> <ul id="toc-join-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-endswith" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#endswith"> <div class="vector-toc-text"> <span class="vector-toc-numb">14</span> <span>endswith</span> </div> </a> <ul id="toc-endswith-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">15</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="Nội dung" 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="Đóng mở mục lục" > <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">Đóng mở mục lục</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">Mô đun</span><span class="mw-page-title-separator">:</span><span class="mw-page-title-main">String</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="Xem bài viết trong ngôn ngữ khác. Bài có sẵn trong 256 ngôn ngữ" > <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-256" 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">256 ngôn ngữ</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ace mw-list-item"><a href="https://ace.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Achinese" lang="ace" hreflang="ace" data-title="Modul:String" data-language-autonym="Acèh" data-language-local-name="Tiếng Achinese" class="interlanguage-link-target"><span>Acèh</span></a></li><li class="interlanguage-link interwiki-kbd mw-list-item"><a href="https://kbd.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Kabardian" lang="kbd" hreflang="kbd" data-title="Module:String" data-language-autonym="Адыгэбзэ" data-language-local-name="Tiếng Kabardian" class="interlanguage-link-target"><span>Адыгэбзэ</span></a></li><li class="interlanguage-link interwiki-af mw-list-item"><a href="https://af.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Afrikaans" lang="af" hreflang="af" data-title="Module:String" data-language-autonym="Afrikaans" data-language-local-name="Tiếng Afrikaans" class="interlanguage-link-target"><span>Afrikaans</span></a></li><li class="interlanguage-link interwiki-als mw-list-item"><a href="https://als.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Tiếng Đức (Thụy Sĩ)" lang="gsw" hreflang="gsw" data-title="Modul:Str" data-language-autonym="Alemannisch" data-language-local-name="Tiếng Đức (Thụy Sĩ)" class="interlanguage-link-target"><span>Alemannisch</span></a></li><li class="interlanguage-link interwiki-alt mw-list-item"><a href="https://alt.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Altai Miền Nam" lang="alt" hreflang="alt" data-title="Модуль:String" data-language-autonym="Алтай тил" data-language-local-name="Tiếng Altai Miền Nam" class="interlanguage-link-target"><span>Алтай тил</span></a></li><li class="interlanguage-link interwiki-am mw-list-item"><a href="https://am.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Amharic" lang="am" hreflang="am" data-title="Module:String" data-language-autonym="አማርኛ" data-language-local-name="Tiếng Amharic" class="interlanguage-link-target"><span>አማርኛ</span></a></li><li class="interlanguage-link interwiki-smn mw-list-item"><a href="https://smn.wikipedia.org/wiki/Mooduul:String" title="Mooduul:String – Tiếng Inari Sami" lang="smn" hreflang="smn" data-title="Mooduul:String" data-language-autonym="Anarâškielâ" data-language-local-name="Tiếng Inari Sami" class="interlanguage-link-target"><span>Anarâškielâ</span></a></li><li class="interlanguage-link interwiki-ang mw-list-item"><a href="https://ang.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Anh cổ" lang="ang" hreflang="ang" data-title="Module:String" data-language-autonym="Ænglisc" data-language-local-name="Tiếng Anh cổ" class="interlanguage-link-target"><span>Ænglisc</span></a></li><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:String" title="Амодуль:String – Tiếng Abkhazia" lang="ab" hreflang="ab" data-title="Амодуль:String" data-language-autonym="Аԥсшәа" data-language-local-name="Tiếng Abkhazia" 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:String" title="وحدة:String – Tiếng Ả Rập" lang="ar" hreflang="ar" data-title="وحدة:String" data-language-autonym="العربية" data-language-local-name="Tiếng Ả Rập" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-hyw mw-list-item"><a href="https://hyw.wikipedia.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:String" title="Մոդուլ:String – Western Armenian" lang="hyw" hreflang="hyw" data-title="Մոդուլ:String" data-language-autonym="Արեւմտահայերէն" data-language-local-name="Western Armenian" class="interlanguage-link-target"><span>Արեւմտահայերէն</span></a></li><li class="interlanguage-link interwiki-frp mw-list-item"><a href="https://frp.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Arpitan" lang="frp" hreflang="frp" data-title="Module:String" data-language-autonym="Arpetan" data-language-local-name="Tiếng Arpitan" class="interlanguage-link-target"><span>Arpetan</span></a></li><li class="interlanguage-link interwiki-as mw-list-item"><a href="https://as.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Assam" lang="as" hreflang="as" data-title="Module:String" data-language-autonym="অসমীয়া" data-language-local-name="Tiếng Assam" class="interlanguage-link-target"><span>অসমীয়া</span></a></li><li class="interlanguage-link interwiki-ast mw-list-item"><a href="https://ast.wikipedia.org/wiki/M%C3%B3dulu:String" title="Módulu:String – Tiếng Asturias" lang="ast" hreflang="ast" data-title="Módulu:String" data-language-autonym="Asturianu" data-language-local-name="Tiếng Asturias" class="interlanguage-link-target"><span>Asturianu</span></a></li><li class="interlanguage-link interwiki-atj mw-list-item"><a href="https://atj.wikipedia.org/wiki/Aitapihikewin:String" title="Aitapihikewin:String – Tiếng Atikamekw" lang="atj" hreflang="atj" data-title="Aitapihikewin:String" data-language-autonym="Atikamekw" data-language-local-name="Tiếng Atikamekw" class="interlanguage-link-target"><span>Atikamekw</span></a></li><li class="interlanguage-link interwiki-awa mw-list-item"><a href="https://awa.wikipedia.org/wiki/%E0%A4%85%E0%A4%A8%E0%A5%81%E0%A4%96%E0%A4%82%E0%A4%A1:String" title="अनुखंड:String – Tiếng Awadhi" lang="awa" hreflang="awa" data-title="अनुखंड:String" data-language-autonym="अवधी" data-language-local-name="Tiếng Awadhi" class="interlanguage-link-target"><span>अवधी</span></a></li><li class="interlanguage-link interwiki-gn mw-list-item"><a href="https://gn.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Tiếng Guarani" lang="gn" hreflang="gn" data-title="Módulo:String" data-language-autonym="Avañe'ẽ" data-language-local-name="Tiếng Guarani" class="interlanguage-link-target"><span>Avañe'ẽ</span></a></li><li class="interlanguage-link interwiki-av mw-list-item"><a href="https://av.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Avaric" lang="av" hreflang="av" data-title="Модуль:String" data-language-autonym="Авар" data-language-local-name="Tiếng Avaric" 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:String" title="Modul:String – Tiếng Azerbaijan" lang="az" hreflang="az" data-title="Modul:String" data-language-autonym="Azərbaycanca" data-language-local-name="Tiếng Azerbaijan" class="interlanguage-link-target"><span>Azərbaycanca</span></a></li><li class="interlanguage-link interwiki-azb mw-list-item"><a href="https://azb.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:String" title="ماژول:String – South Azerbaijani" lang="azb" hreflang="azb" data-title="ماژول:String" data-language-autonym="تۆرکجه" data-language-local-name="South Azerbaijani" class="interlanguage-link-target"><span>تۆرکجه</span></a></li><li class="interlanguage-link interwiki-gor mw-list-item"><a href="https://gor.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Gorontalo" lang="gor" hreflang="gor" data-title="Modul:String" data-language-autonym="Bahasa Hulontalo" data-language-local-name="Tiếng Gorontalo" class="interlanguage-link-target"><span>Bahasa Hulontalo</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Indonesia" lang="id" hreflang="id" data-title="Modul:String" data-language-autonym="Bahasa Indonesia" data-language-local-name="Tiếng Indonesia" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-ms mw-list-item"><a href="https://ms.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Mã Lai" lang="ms" hreflang="ms" data-title="Modul:String" data-language-autonym="Bahasa Melayu" data-language-local-name="Tiếng Mã Lai" class="interlanguage-link-target"><span>Bahasa Melayu</span></a></li><li class="interlanguage-link interwiki-ban mw-list-item"><a href="https://ban.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Bali" lang="ban" hreflang="ban" data-title="Modul:String" data-language-autonym="Basa Bali" data-language-local-name="Tiếng Bali" 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:String" title="মডিউল:String – Tiếng Bangla" lang="bn" hreflang="bn" data-title="মডিউল:String" data-language-autonym="বাংলা" data-language-local-name="Tiếng Bangla" class="interlanguage-link-target"><span>বাংলা</span></a></li><li class="interlanguage-link interwiki-bjn mw-list-item"><a href="https://bjn.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Banjar" lang="bjn" hreflang="bjn" data-title="Modul:String" data-language-autonym="Banjar" data-language-local-name="Tiếng Banjar" class="interlanguage-link-target"><span>Banjar</span></a></li><li class="interlanguage-link interwiki-zh-min-nan mw-list-item"><a href="https://zh-min-nan.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:String" title="模組:String – Tiếng Mân Nam" lang="nan" hreflang="nan" data-title="模組:String" data-language-autonym="閩南語 / Bân-lâm-gú" data-language-local-name="Tiếng Mân Nam" class="interlanguage-link-target"><span>閩南語 / Bân-lâm-gú</span></a></li><li class="interlanguage-link interwiki-map-bms mw-list-item"><a href="https://map-bms.wikipedia.org/wiki/Modhul:String" title="Modhul:String – Banyumasan" lang="jv-x-bms" hreflang="jv-x-bms" data-title="Modhul:String" data-language-autonym="Basa Banyumasan" data-language-local-name="Banyumasan" class="interlanguage-link-target"><span>Basa Banyumasan</span></a></li><li class="interlanguage-link interwiki-ba mw-list-item"><a href="https://ba.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Bashkir" lang="ba" hreflang="ba" data-title="Модуль:String" data-language-autonym="Башҡортса" data-language-local-name="Tiếng Bashkir" class="interlanguage-link-target"><span>Башҡортса</span></a></li><li class="interlanguage-link interwiki-be mw-list-item"><a href="https://be.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Belarus" lang="be" hreflang="be" data-title="Модуль:String" data-language-autonym="Беларуская" data-language-local-name="Tiếng Belarus" 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:String" title="Модуль:String – Belarusian (Taraškievica orthography)" lang="be-tarask" hreflang="be-tarask" data-title="Модуль:String" data-language-autonym="Беларуская (тарашкевіца)" data-language-local-name="Belarusian (Taraškievica orthography)" class="interlanguage-link-target"><span>Беларуская (тарашкевіца)</span></a></li><li class="interlanguage-link interwiki-mad mw-list-item"><a href="https://mad.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Madura" lang="mad" hreflang="mad" data-title="Modul:String" data-language-autonym="Madhurâ" data-language-local-name="Tiếng Madura" class="interlanguage-link-target"><span>Madhurâ</span></a></li><li class="interlanguage-link interwiki-bh mw-list-item"><a href="https://bh.wikipedia.org/wiki/Module:String" title="Module:String – Bhojpuri" lang="bh" hreflang="bh" data-title="Module:String" data-language-autonym="भोजपुरी" data-language-local-name="Bhojpuri" class="interlanguage-link-target"><span>भोजपुरी</span></a></li><li class="interlanguage-link interwiki-bcl mw-list-item"><a href="https://bcl.wikipedia.org/wiki/Module:String" title="Module:String – Central Bikol" lang="bcl" hreflang="bcl" data-title="Module:String" data-language-autonym="Bikol Central" data-language-local-name="Central Bikol" class="interlanguage-link-target"><span>Bikol Central</span></a></li><li class="interlanguage-link interwiki-bar mw-list-item"><a href="https://bar.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Tiếng Bavaria" lang="bar" hreflang="bar" data-title="Modul:Str" data-language-autonym="Boarisch" data-language-local-name="Tiếng Bavaria" class="interlanguage-link-target"><span>Boarisch</span></a></li><li class="interlanguage-link interwiki-bs mw-list-item"><a href="https://bs.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Bosnia" lang="bs" hreflang="bs" data-title="Modul:String" data-language-autonym="Bosanski" data-language-local-name="Tiếng Bosnia" class="interlanguage-link-target"><span>Bosanski</span></a></li><li class="interlanguage-link interwiki-br mw-list-item"><a href="https://br.wikipedia.org/wiki/Modulenn:String" title="Modulenn:String – Tiếng Breton" lang="br" hreflang="br" data-title="Modulenn:String" data-language-autonym="Brezhoneg" data-language-local-name="Tiếng Breton" class="interlanguage-link-target"><span>Brezhoneg</span></a></li><li class="interlanguage-link interwiki-bg mw-list-item"><a href="https://bg.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:String" title="Модул:String – Tiếng Bulgaria" lang="bg" hreflang="bg" data-title="Модул:String" data-language-autonym="Български" data-language-local-name="Tiếng Bulgaria" class="interlanguage-link-target"><span>Български</span></a></li><li class="interlanguage-link interwiki-bxr mw-list-item"><a href="https://bxr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Russia Buriat" lang="bxr" hreflang="bxr" data-title="Модуль:String" data-language-autonym="Буряад" data-language-local-name="Russia Buriat" class="interlanguage-link-target"><span>Буряад</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/M%C3%B2dul:String" title="Mòdul:String – Tiếng Catalan" lang="ca" hreflang="ca" data-title="Mòdul:String" data-language-autonym="Català" data-language-local-name="Tiếng Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-ceb mw-list-item"><a href="https://ceb.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Cebuano" lang="ceb" hreflang="ceb" data-title="Module:String" data-language-autonym="Cebuano" data-language-local-name="Tiếng Cebuano" class="interlanguage-link-target"><span>Cebuano</span></a></li><li class="interlanguage-link interwiki-cv mw-list-item"><a href="https://cv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Chuvash" lang="cv" hreflang="cv" data-title="Модуль:String" data-language-autonym="Чӑвашла" data-language-local-name="Tiếng Chuvash" class="interlanguage-link-target"><span>Чӑвашла</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Séc" lang="cs" hreflang="cs" data-title="Modul:String" data-language-autonym="Čeština" data-language-local-name="Tiếng Séc" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-ch mw-list-item"><a href="https://ch.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Chamorro" lang="ch" hreflang="ch" data-title="Module:String" data-language-autonym="Chamoru" data-language-local-name="Tiếng Chamorro" class="interlanguage-link-target"><span>Chamoru</span></a></li><li class="interlanguage-link interwiki-cbk-zam mw-list-item"><a href="https://cbk-zam.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Chavacano" lang="cbk" hreflang="cbk" data-title="Módulo:String" data-language-autonym="Chavacano de Zamboanga" data-language-local-name="Chavacano" class="interlanguage-link-target"><span>Chavacano de Zamboanga</span></a></li><li class="interlanguage-link interwiki-ny mw-list-item"><a href="https://ny.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Nyanja" lang="ny" hreflang="ny" data-title="Module:String" data-language-autonym="Chi-Chewa" data-language-local-name="Tiếng Nyanja" class="interlanguage-link-target"><span>Chi-Chewa</span></a></li><li class="interlanguage-link interwiki-sn mw-list-item"><a href="https://sn.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Shona" lang="sn" hreflang="sn" data-title="Module:String" data-language-autonym="ChiShona" data-language-local-name="Tiếng Shona" class="interlanguage-link-target"><span>ChiShona</span></a></li><li class="interlanguage-link interwiki-tum mw-list-item"><a href="https://tum.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Tumbuka" lang="tum" hreflang="tum" data-title="Module:String" data-language-autonym="ChiTumbuka" data-language-local-name="Tiếng Tumbuka" class="interlanguage-link-target"><span>ChiTumbuka</span></a></li><li class="interlanguage-link interwiki-co mw-list-item"><a href="https://co.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tiếng Corsica" lang="co" hreflang="co" data-title="Modulo:String" data-language-autonym="Corsu" data-language-local-name="Tiếng Corsica" class="interlanguage-link-target"><span>Corsu</span></a></li><li class="interlanguage-link interwiki-cy mw-list-item"><a href="https://cy.wikipedia.org/wiki/Modiwl:String" title="Modiwl:String – Tiếng Wales" lang="cy" hreflang="cy" data-title="Modiwl:String" data-language-autonym="Cymraeg" data-language-local-name="Tiếng Wales" class="interlanguage-link-target"><span>Cymraeg</span></a></li><li class="interlanguage-link interwiki-dag mw-list-item"><a href="https://dag.wikipedia.org/wiki/Module:String" title="Module:String – Dagbani" lang="dag" hreflang="dag" data-title="Module:String" data-language-autonym="Dagbanli" data-language-local-name="Dagbani" class="interlanguage-link-target"><span>Dagbanli</span></a></li><li class="interlanguage-link interwiki-da mw-list-item"><a href="https://da.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Đan Mạch" lang="da" hreflang="da" data-title="Modul:String" data-language-autonym="Dansk" data-language-local-name="Tiếng Đan Mạch" class="interlanguage-link-target"><span>Dansk</span></a></li><li class="interlanguage-link interwiki-ary mw-list-item"><a href="https://ary.wikipedia.org/wiki/%D9%85%D9%88%D8%AF%D9%88%D9%84:String" title="مودول:String – Moroccan Arabic" lang="ary" hreflang="ary" data-title="مودول:String" data-language-autonym="الدارجة" data-language-local-name="Moroccan Arabic" class="interlanguage-link-target"><span>الدارجة</span></a></li><li class="interlanguage-link interwiki-se mw-list-item"><a href="https://se.wikipedia.org/wiki/Modula:String" title="Modula:String – Tiếng Sami Miền Bắc" lang="se" hreflang="se" data-title="Modula:String" data-language-autonym="Davvisámegiella" data-language-local-name="Tiếng Sami Miền Bắc" class="interlanguage-link-target"><span>Davvisámegiella</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Tiếng Đức" lang="de" hreflang="de" data-title="Modul:Str" data-language-autonym="Deutsch" data-language-local-name="Tiếng Đức" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-dv mw-list-item"><a href="https://dv.wikipedia.org/wiki/%DE%89%DE%AE%DE%91%DE%A8%DE%87%DE%AA%DE%8D%DE%B0:String" title="މޮޑިއުލް:String – Tiếng Divehi" lang="dv" hreflang="dv" data-title="މޮޑިއުލް:String" data-language-autonym="ދިވެހިބަސް" data-language-local-name="Tiếng Divehi" class="interlanguage-link-target"><span>ދިވެހިބަސް</span></a></li><li class="interlanguage-link interwiki-dsb mw-list-item"><a href="https://dsb.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Hạ Sorbia" lang="dsb" hreflang="dsb" data-title="Modul:String" data-language-autonym="Dolnoserbski" data-language-local-name="Tiếng Hạ Sorbia" class="interlanguage-link-target"><span>Dolnoserbski</span></a></li><li class="interlanguage-link interwiki-dty mw-list-item"><a href="https://dty.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:String" title="मोड्युल:String – Doteli" lang="dty" hreflang="dty" data-title="मोड्युल:String" data-language-autonym="डोटेली" data-language-local-name="Doteli" class="interlanguage-link-target"><span>डोटेली</span></a></li><li class="interlanguage-link interwiki-et mw-list-item"><a href="https://et.wikipedia.org/wiki/Moodul:String" title="Moodul:String – Tiếng Estonia" lang="et" hreflang="et" data-title="Moodul:String" data-language-autonym="Eesti" data-language-local-name="Tiếng Estonia" class="interlanguage-link-target"><span>Eesti</span></a></li><li class="interlanguage-link interwiki-el mw-list-item"><a href="https://el.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Hy Lạp" lang="el" hreflang="el" data-title="Module:String" data-language-autonym="Ελληνικά" data-language-local-name="Tiếng Hy Lạp" class="interlanguage-link-target"><span>Ελληνικά</span></a></li><li class="interlanguage-link interwiki-eml mw-list-item"><a href="https://eml.wikipedia.org/wiki/M%C3%B2dul:String" title="Mòdul:String – Emiliano-Romagnolo" lang="egl" hreflang="egl" data-title="Mòdul:String" data-language-autonym="Emiliàn e rumagnòl" data-language-local-name="Emiliano-Romagnolo" class="interlanguage-link-target"><span>Emiliàn e rumagnòl</span></a></li><li class="interlanguage-link interwiki-en mw-list-item"><a href="https://en.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Anh" lang="en" hreflang="en" data-title="Module:String" data-language-autonym="English" data-language-local-name="Tiếng Anh" class="interlanguage-link-target"><span>English</span></a></li><li class="interlanguage-link interwiki-myv mw-list-item"><a href="https://myv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Erzya" lang="myv" hreflang="myv" data-title="Модуль:String" data-language-autonym="Эрзянь" data-language-local-name="Tiếng Erzya" class="interlanguage-link-target"><span>Эрзянь</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Tiếng Tây Ban Nha" lang="es" hreflang="es" data-title="Módulo:String" data-language-autonym="Español" data-language-local-name="Tiếng Tây Ban Nha" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-eo mw-list-item"><a href="https://eo.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tiếng Quốc Tế Ngữ" lang="eo" hreflang="eo" data-title="Modulo:String" data-language-autonym="Esperanto" data-language-local-name="Tiếng Quốc Tế Ngữ" class="interlanguage-link-target"><span>Esperanto</span></a></li><li class="interlanguage-link interwiki-eu mw-list-item"><a href="https://eu.wikipedia.org/wiki/Modulu:String" title="Modulu:String – Tiếng Basque" lang="eu" hreflang="eu" data-title="Modulu:String" data-language-autonym="Euskara" data-language-local-name="Tiếng Basque" class="interlanguage-link-target"><span>Euskara</span></a></li><li class="interlanguage-link interwiki-ee mw-list-item"><a href="https://ee.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Ewe" lang="ee" hreflang="ee" data-title="Module:String" data-language-autonym="Eʋegbe" data-language-local-name="Tiếng Ewe" class="interlanguage-link-target"><span>Eʋegbe</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:String" title="پودمان:String – Tiếng Ba Tư" lang="fa" hreflang="fa" data-title="پودمان:String" data-language-autonym="فارسی" data-language-local-name="Tiếng Ba Tư" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-hif mw-list-item"><a href="https://hif.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Fiji Hindi" lang="hif" hreflang="hif" data-title="Module:String" data-language-autonym="Fiji Hindi" data-language-local-name="Tiếng Fiji Hindi" class="interlanguage-link-target"><span>Fiji Hindi</span></a></li><li class="interlanguage-link interwiki-fo mw-list-item"><a href="https://fo.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Faroe" lang="fo" hreflang="fo" data-title="Module:String" data-language-autonym="Føroyskt" data-language-local-name="Tiếng Faroe" class="interlanguage-link-target"><span>Føroyskt</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Pháp" lang="fr" hreflang="fr" data-title="Module:String" data-language-autonym="Français" data-language-local-name="Tiếng Pháp" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-fy mw-list-item"><a href="https://fy.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Frisia" lang="fy" hreflang="fy" data-title="Module:String" data-language-autonym="Frysk" data-language-local-name="Tiếng Frisia" class="interlanguage-link-target"><span>Frysk</span></a></li><li class="interlanguage-link interwiki-fur mw-list-item"><a href="https://fur.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tiếng Friulian" lang="fur" hreflang="fur" data-title="Modulo:String" data-language-autonym="Furlan" data-language-local-name="Tiếng Friulian" class="interlanguage-link-target"><span>Furlan</span></a></li><li class="interlanguage-link interwiki-ga mw-list-item"><a href="https://ga.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Ireland" lang="ga" hreflang="ga" data-title="Module:String" data-language-autonym="Gaeilge" data-language-local-name="Tiếng Ireland" class="interlanguage-link-target"><span>Gaeilge</span></a></li><li class="interlanguage-link interwiki-sm mw-list-item"><a href="https://sm.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Samoa" lang="sm" hreflang="sm" data-title="Module:String" data-language-autonym="Gagana Samoa" data-language-local-name="Tiếng Samoa" class="interlanguage-link-target"><span>Gagana Samoa</span></a></li><li class="interlanguage-link interwiki-gd mw-list-item"><a href="https://gd.wikipedia.org/wiki/M%C3%B2ideal:String" title="Mòideal:String – Tiếng Gael Scotland" lang="gd" hreflang="gd" data-title="Mòideal:String" data-language-autonym="Gàidhlig" data-language-local-name="Tiếng Gael Scotland" class="interlanguage-link-target"><span>Gàidhlig</span></a></li><li class="interlanguage-link interwiki-gl mw-list-item"><a href="https://gl.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Tiếng Galician" lang="gl" hreflang="gl" data-title="Módulo:String" data-language-autonym="Galego" data-language-local-name="Tiếng Galician" class="interlanguage-link-target"><span>Galego</span></a></li><li class="interlanguage-link interwiki-inh mw-list-item"><a href="https://inh.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Ingush" lang="inh" hreflang="inh" data-title="Модуль:String" data-language-autonym="ГӀалгӀай" data-language-local-name="Tiếng Ingush" class="interlanguage-link-target"><span>ГӀалгӀай</span></a></li><li class="interlanguage-link interwiki-gan mw-list-item"><a href="https://gan.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:String" title="模組:String – Tiếng Cám" lang="gan" hreflang="gan" data-title="模組:String" data-language-autonym="贛語" data-language-local-name="Tiếng Cám" class="interlanguage-link-target"><span>贛語</span></a></li><li class="interlanguage-link interwiki-glk mw-list-item"><a href="https://glk.wikipedia.org/wiki/%D9%85%D8%A7%D8%AC%DB%8A%D9%84:String" title="ماجۊل:String – Tiếng Gilaki" lang="glk" hreflang="glk" data-title="ماجۊل:String" data-language-autonym="گیلکی" data-language-local-name="Tiếng Gilaki" class="interlanguage-link-target"><span>گیلکی</span></a></li><li class="interlanguage-link interwiki-gu mw-list-item"><a href="https://gu.wikipedia.org/wiki/%E0%AA%B5%E0%AA%BF%E0%AA%AD%E0%AA%BE%E0%AA%97:String" title="વિભાગ:String – Tiếng Gujarati" lang="gu" hreflang="gu" data-title="વિભાગ:String" data-language-autonym="ગુજરાતી" data-language-local-name="Tiếng Gujarati" class="interlanguage-link-target"><span>ગુજરાતી</span></a></li><li class="interlanguage-link interwiki-gom mw-list-item"><a href="https://gom.wikipedia.org/wiki/%E0%A4%8F%E0%A4%95%E0%A4%95:String" title="एकक:String – Tiếng Goan Konkani" lang="gom" hreflang="gom" data-title="एकक:String" data-language-autonym="गोंयची कोंकणी / Gõychi Konknni" data-language-local-name="Tiếng Goan Konkani" class="interlanguage-link-target"><span>गोंयची कोंकणी / Gõychi Konknni</span></a></li><li class="interlanguage-link interwiki-hak mw-list-item"><a href="https://hak.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:String" title="模組:String – Tiếng Khách Gia" lang="hak" hreflang="hak" data-title="模組:String" data-language-autonym="客家語 / Hak-kâ-ngî" data-language-local-name="Tiếng Khách Gia" class="interlanguage-link-target"><span>客家語 / Hak-kâ-ngî</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:String" title="모듈:String – Tiếng Hàn" lang="ko" hreflang="ko" data-title="모듈:String" data-language-autonym="한국어" data-language-local-name="Tiếng Hàn" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-ha mw-list-item"><a href="https://ha.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Hausa" lang="ha" hreflang="ha" data-title="Module:String" data-language-autonym="Hausa" data-language-local-name="Tiếng Hausa" class="interlanguage-link-target"><span>Hausa</span></a></li><li class="interlanguage-link interwiki-haw mw-list-item"><a href="https://haw.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Hawaii" lang="haw" hreflang="haw" data-title="Module:String" data-language-autonym="Hawaiʻi" data-language-local-name="Tiếng Hawaii" class="interlanguage-link-target"><span>Hawaiʻi</span></a></li><li class="interlanguage-link interwiki-hy mw-list-item"><a href="https://hy.wikipedia.org/wiki/%D5%84%D5%B8%D5%A4%D5%B8%D6%82%D5%AC:String" title="Մոդուլ:String – Tiếng Armenia" lang="hy" hreflang="hy" data-title="Մոդուլ:String" data-language-autonym="Հայերեն" data-language-local-name="Tiếng Armenia" class="interlanguage-link-target"><span>Հայերեն</span></a></li><li class="interlanguage-link interwiki-hi mw-list-item"><a href="https://hi.wikipedia.org/wiki/%E0%A4%AE%E0%A5%89%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%82%E0%A4%B2:String" title="मॉड्यूल:String – Tiếng Hindi" lang="hi" hreflang="hi" data-title="मॉड्यूल:String" data-language-autonym="हिन्दी" data-language-local-name="Tiếng Hindi" class="interlanguage-link-target"><span>हिन्दी</span></a></li><li class="interlanguage-link interwiki-hsb mw-list-item"><a href="https://hsb.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Thượng Sorbia" lang="hsb" hreflang="hsb" data-title="Modul:String" data-language-autonym="Hornjoserbsce" data-language-local-name="Tiếng Thượng Sorbia" class="interlanguage-link-target"><span>Hornjoserbsce</span></a></li><li class="interlanguage-link interwiki-hr mw-list-item"><a href="https://hr.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Croatia" lang="hr" hreflang="hr" data-title="Modul:String" data-language-autonym="Hrvatski" data-language-local-name="Tiếng Croatia" class="interlanguage-link-target"><span>Hrvatski</span></a></li><li class="interlanguage-link interwiki-io mw-list-item"><a href="https://io.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tiếng Ido" lang="io" hreflang="io" data-title="Modulo:String" data-language-autonym="Ido" data-language-local-name="Tiếng Ido" class="interlanguage-link-target"><span>Ido</span></a></li><li class="interlanguage-link interwiki-ig mw-list-item"><a href="https://ig.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Igbo" lang="ig" hreflang="ig" data-title="Module:String" data-language-autonym="Igbo" data-language-local-name="Tiếng Igbo" class="interlanguage-link-target"><span>Igbo</span></a></li><li class="interlanguage-link interwiki-ilo mw-list-item"><a href="https://ilo.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tiếng Iloko" lang="ilo" hreflang="ilo" data-title="Modulo:String" data-language-autonym="Ilokano" data-language-local-name="Tiếng Iloko" class="interlanguage-link-target"><span>Ilokano</span></a></li><li class="interlanguage-link interwiki-bpy mw-list-item"><a href="https://bpy.wikipedia.org/wiki/%E0%A6%AE%E0%A6%A1%E0%A6%BF%E0%A6%89%E0%A6%B2:String" title="মডিউল:String – Tiếng Bishnupriya" lang="bpy" hreflang="bpy" data-title="মডিউল:String" data-language-autonym="বিষ্ণুপ্রিয়া মণিপুরী" data-language-local-name="Tiếng Bishnupriya" class="interlanguage-link-target"><span>বিষ্ণুপ্রিয়া মণিপুরী</span></a></li><li class="interlanguage-link interwiki-ia mw-list-item"><a href="https://ia.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Khoa Học Quốc Tế" lang="ia" hreflang="ia" data-title="Module:String" data-language-autonym="Interlingua" data-language-local-name="Tiếng Khoa Học Quốc Tế" class="interlanguage-link-target"><span>Interlingua</span></a></li><li class="interlanguage-link interwiki-os mw-list-item"><a href="https://os.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Ossetic" lang="os" hreflang="os" data-title="Модуль:String" data-language-autonym="Ирон" data-language-local-name="Tiếng Ossetic" class="interlanguage-link-target"><span>Ирон</span></a></li><li class="interlanguage-link interwiki-xh mw-list-item"><a href="https://xh.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Xhosa" lang="xh" hreflang="xh" data-title="Module:String" data-language-autonym="IsiXhosa" data-language-local-name="Tiếng Xhosa" class="interlanguage-link-target"><span>IsiXhosa</span></a></li><li class="interlanguage-link interwiki-zu mw-list-item"><a href="https://zu.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Zulu" lang="zu" hreflang="zu" data-title="Module:String" data-language-autonym="IsiZulu" data-language-local-name="Tiếng Zulu" class="interlanguage-link-target"><span>IsiZulu</span></a></li><li class="interlanguage-link interwiki-is mw-list-item"><a href="https://is.wikipedia.org/wiki/Module:Strengur" title="Module:Strengur – Tiếng Iceland" lang="is" hreflang="is" data-title="Module:Strengur" data-language-autonym="Íslenska" data-language-local-name="Tiếng Iceland" class="interlanguage-link-target"><span>Íslenska</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tiếng Italy" lang="it" hreflang="it" data-title="Modulo:String" data-language-autonym="Italiano" data-language-local-name="Tiếng Italy" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-he mw-list-item"><a href="https://he.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:String" title="יחידה:String – Tiếng Do Thái" lang="he" hreflang="he" data-title="יחידה:String" data-language-autonym="עברית" data-language-local-name="Tiếng Do Thái" class="interlanguage-link-target"><span>עברית</span></a></li><li class="interlanguage-link interwiki-jv mw-list-item"><a href="https://jv.wikipedia.org/wiki/Modhul:String" title="Modhul:String – Tiếng Java" lang="jv" hreflang="jv" data-title="Modhul:String" data-language-autonym="Jawa" data-language-local-name="Tiếng Java" class="interlanguage-link-target"><span>Jawa</span></a></li><li class="interlanguage-link interwiki-kn mw-list-item"><a href="https://kn.wikipedia.org/wiki/%E0%B2%AE%E0%B2%BE%E0%B2%A1%E0%B3%8D%E0%B2%AF%E0%B3%82%E0%B2%B2%E0%B3%8D:String" title="ಮಾಡ್ಯೂಲ್:String – Tiếng Kannada" lang="kn" hreflang="kn" data-title="ಮಾಡ್ಯೂಲ್:String" data-language-autonym="ಕನ್ನಡ" data-language-local-name="Tiếng Kannada" class="interlanguage-link-target"><span>ಕನ್ನಡ</span></a></li><li class="interlanguage-link interwiki-pam mw-list-item"><a href="https://pam.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Pampanga" lang="pam" hreflang="pam" data-title="Module:String" data-language-autonym="Kapampangan" data-language-local-name="Tiếng Pampanga" class="interlanguage-link-target"><span>Kapampangan</span></a></li><li class="interlanguage-link interwiki-ka mw-list-item"><a href="https://ka.wikipedia.org/wiki/%E1%83%9B%E1%83%9D%E1%83%93%E1%83%A3%E1%83%9A%E1%83%98:String" title="მოდული:String – Tiếng Georgia" lang="ka" hreflang="ka" data-title="მოდული:String" data-language-autonym="ქართული" data-language-local-name="Tiếng Georgia" class="interlanguage-link-target"><span>ქართული</span></a></li><li class="interlanguage-link interwiki-ks mw-list-item"><a href="https://ks.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%97%D9%84:String" title="ماڈیوٗل:String – Tiếng Kashmir" lang="ks" hreflang="ks" data-title="ماڈیوٗل:String" data-language-autonym="कॉशुर / کٲشُر" data-language-local-name="Tiếng Kashmir" class="interlanguage-link-target"><span>कॉशुर / کٲشُر</span></a></li><li class="interlanguage-link interwiki-kk mw-list-item"><a href="https://kk.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Kazakh" lang="kk" hreflang="kk" data-title="Module:String" data-language-autonym="Қазақша" data-language-local-name="Tiếng Kazakh" class="interlanguage-link-target"><span>Қазақша</span></a></li><li class="interlanguage-link interwiki-kw mw-list-item"><a href="https://kw.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Cornwall" lang="kw" hreflang="kw" data-title="Module:String" data-language-autonym="Kernowek" data-language-local-name="Tiếng Cornwall" class="interlanguage-link-target"><span>Kernowek</span></a></li><li class="interlanguage-link interwiki-rw mw-list-item"><a href="https://rw.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Kinyarwanda" lang="rw" hreflang="rw" data-title="Module:String" data-language-autonym="Ikinyarwanda" data-language-local-name="Tiếng Kinyarwanda" class="interlanguage-link-target"><span>Ikinyarwanda</span></a></li><li class="interlanguage-link interwiki-ky mw-list-item"><a href="https://ky.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Kyrgyz" lang="ky" hreflang="ky" data-title="Модуль:String" data-language-autonym="Кыргызча" data-language-local-name="Tiếng Kyrgyz" class="interlanguage-link-target"><span>Кыргызча</span></a></li><li class="interlanguage-link interwiki-rn mw-list-item"><a href="https://rn.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Rundi" lang="rn" hreflang="rn" data-title="Module:String" data-language-autonym="Ikirundi" data-language-local-name="Tiếng Rundi" class="interlanguage-link-target"><span>Ikirundi</span></a></li><li class="interlanguage-link interwiki-mrj mw-list-item"><a href="https://mrj.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Western Mari" lang="mrj" hreflang="mrj" data-title="Модуль:String" data-language-autonym="Кырык мары" data-language-local-name="Western Mari" class="interlanguage-link-target"><span>Кырык мары</span></a></li><li class="interlanguage-link interwiki-sw mw-list-item"><a href="https://sw.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Swahili" lang="sw" hreflang="sw" data-title="Module:String" data-language-autonym="Kiswahili" data-language-local-name="Tiếng Swahili" class="interlanguage-link-target"><span>Kiswahili</span></a></li><li class="interlanguage-link interwiki-kv mw-list-item"><a href="https://kv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Komi" lang="kv" hreflang="kv" data-title="Модуль:String" data-language-autonym="Коми" data-language-local-name="Tiếng Komi" class="interlanguage-link-target"><span>Коми</span></a></li><li class="interlanguage-link interwiki-kg mw-list-item"><a href="https://kg.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Kongo" lang="kg" hreflang="kg" data-title="Module:String" data-language-autonym="Kongo" data-language-local-name="Tiếng Kongo" class="interlanguage-link-target"><span>Kongo</span></a></li><li class="interlanguage-link interwiki-avk mw-list-item"><a href="https://avk.wikipedia.org/wiki/Siba:String" title="Siba:String – Kotava" lang="avk" hreflang="avk" data-title="Siba:String" data-language-autonym="Kotava" data-language-local-name="Kotava" class="interlanguage-link-target"><span>Kotava</span></a></li><li class="interlanguage-link interwiki-ht mw-list-item"><a href="https://ht.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Haiti" lang="ht" hreflang="ht" data-title="Module:String" data-language-autonym="Kreyòl ayisyen" data-language-local-name="Tiếng Haiti" class="interlanguage-link-target"><span>Kreyòl ayisyen</span></a></li><li class="interlanguage-link interwiki-ku mw-list-item"><a href="https://ku.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Kurd" lang="ku" hreflang="ku" data-title="Modul:String" data-language-autonym="Kurdî" data-language-local-name="Tiếng Kurd" class="interlanguage-link-target"><span>Kurdî</span></a></li><li class="interlanguage-link interwiki-lld mw-list-item"><a href="https://lld.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Ladin" lang="lld" hreflang="lld" data-title="Modulo:String" data-language-autonym="Ladin" data-language-local-name="Ladin" class="interlanguage-link-target"><span>Ladin</span></a></li><li class="interlanguage-link interwiki-lad mw-list-item"><a href="https://lad.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Tiếng Ladino" lang="lad" hreflang="lad" data-title="Módulo:String" data-language-autonym="Ladino" data-language-local-name="Tiếng Ladino" class="interlanguage-link-target"><span>Ladino</span></a></li><li class="interlanguage-link interwiki-lbe mw-list-item"><a href="https://lbe.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Lak" lang="lbe" hreflang="lbe" data-title="Модуль:String" data-language-autonym="Лакку" data-language-local-name="Lak" class="interlanguage-link-target"><span>Лакку</span></a></li><li class="interlanguage-link interwiki-lo mw-list-item"><a href="https://lo.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Lào" lang="lo" hreflang="lo" data-title="Module:String" data-language-autonym="ລາວ" data-language-local-name="Tiếng Lào" class="interlanguage-link-target"><span>ລາວ</span></a></li><li class="interlanguage-link interwiki-la mw-list-item"><a href="https://la.wikipedia.org/wiki/Modulus:String" title="Modulus:String – Tiếng La-tinh" lang="la" hreflang="la" data-title="Modulus:String" data-language-autonym="Latina" data-language-local-name="Tiếng La-tinh" class="interlanguage-link-target"><span>Latina</span></a></li><li class="interlanguage-link interwiki-ltg mw-list-item"><a href="https://ltg.wikipedia.org/wiki/Modulis:String" title="Modulis:String – Latgalian" lang="ltg" hreflang="ltg" data-title="Modulis:String" data-language-autonym="Latgaļu" data-language-local-name="Latgalian" class="interlanguage-link-target"><span>Latgaļu</span></a></li><li class="interlanguage-link interwiki-lv mw-list-item"><a href="https://lv.wikipedia.org/wiki/Modulis:String" title="Modulis:String – Tiếng Latvia" lang="lv" hreflang="lv" data-title="Modulis:String" data-language-autonym="Latviešu" data-language-local-name="Tiếng Latvia" class="interlanguage-link-target"><span>Latviešu</span></a></li><li class="interlanguage-link interwiki-lb mw-list-item"><a href="https://lb.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Luxembourg" lang="lb" hreflang="lb" data-title="Modul:String" data-language-autonym="Lëtzebuergesch" data-language-local-name="Tiếng Luxembourg" class="interlanguage-link-target"><span>Lëtzebuergesch</span></a></li><li class="interlanguage-link interwiki-lez mw-list-item"><a href="https://lez.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Lezghian" lang="lez" hreflang="lez" data-title="Модуль:String" data-language-autonym="Лезги" data-language-local-name="Tiếng Lezghian" class="interlanguage-link-target"><span>Лезги</span></a></li><li class="interlanguage-link interwiki-lt mw-list-item"><a href="https://lt.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Litva" lang="lt" hreflang="lt" data-title="Module:String" data-language-autonym="Lietuvių" data-language-local-name="Tiếng Litva" class="interlanguage-link-target"><span>Lietuvių</span></a></li><li class="interlanguage-link interwiki-nia mw-list-item"><a href="https://nia.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Nias" lang="nia" hreflang="nia" data-title="Modul:String" data-language-autonym="Li Niha" data-language-local-name="Tiếng Nias" class="interlanguage-link-target"><span>Li Niha</span></a></li><li class="interlanguage-link interwiki-lij mw-list-item"><a href="https://lij.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Ligurian" lang="lij" hreflang="lij" data-title="Modulo:String" data-language-autonym="Ligure" data-language-local-name="Ligurian" class="interlanguage-link-target"><span>Ligure</span></a></li><li class="interlanguage-link interwiki-ln mw-list-item"><a href="https://ln.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Lingala" lang="ln" hreflang="ln" data-title="Module:String" data-language-autonym="Lingála" data-language-local-name="Tiếng Lingala" class="interlanguage-link-target"><span>Lingála</span></a></li><li class="interlanguage-link interwiki-lfn mw-list-item"><a href="https://lfn.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Lingua Franca Nova" lang="lfn" hreflang="lfn" data-title="Modulo:String" data-language-autonym="Lingua Franca Nova" data-language-local-name="Lingua Franca Nova" class="interlanguage-link-target"><span>Lingua Franca Nova</span></a></li><li class="interlanguage-link interwiki-olo mw-list-item"><a href="https://olo.wikipedia.org/wiki/Moduuli:String" title="Moduuli:String – Livvi-Karelian" lang="olo" hreflang="olo" data-title="Moduuli:String" data-language-autonym="Livvinkarjala" data-language-local-name="Livvi-Karelian" class="interlanguage-link-target"><span>Livvinkarjala</span></a></li><li class="interlanguage-link interwiki-jbo mw-list-item"><a href="https://jbo.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Lojban" lang="jbo" hreflang="jbo" data-title="Module:String" data-language-autonym="La .lojban." data-language-local-name="Tiếng Lojban" class="interlanguage-link-target"><span>La .lojban.</span></a></li><li class="interlanguage-link interwiki-lg mw-list-item"><a href="https://lg.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Ganda" lang="lg" hreflang="lg" data-title="Module:String" data-language-autonym="Luganda" data-language-local-name="Tiếng Ganda" class="interlanguage-link-target"><span>Luganda</span></a></li><li class="interlanguage-link interwiki-lmo mw-list-item"><a href="https://lmo.wikipedia.org/wiki/M%C3%B2dul:String" title="Mòdul:String – Tiếng Lombard" lang="lmo" hreflang="lmo" data-title="Mòdul:String" data-language-autonym="Lombard" data-language-local-name="Tiếng Lombard" class="interlanguage-link-target"><span>Lombard</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Hungary" lang="hu" hreflang="hu" data-title="Modul:String" data-language-autonym="Magyar" data-language-local-name="Tiếng Hungary" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-mai mw-list-item"><a href="https://mai.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:String" title="मोड्युल:String – Tiếng Maithili" lang="mai" hreflang="mai" data-title="मोड्युल:String" data-language-autonym="मैथिली" data-language-local-name="Tiếng Maithili" class="interlanguage-link-target"><span>मैथिली</span></a></li><li class="interlanguage-link interwiki-mk mw-list-item"><a href="https://mk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:String" title="Модул:String – Tiếng Macedonia" lang="mk" hreflang="mk" data-title="Модул:String" data-language-autonym="Македонски" data-language-local-name="Tiếng Macedonia" class="interlanguage-link-target"><span>Македонски</span></a></li><li class="interlanguage-link interwiki-mg mw-list-item"><a href="https://mg.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Malagasy" lang="mg" hreflang="mg" data-title="Module:String" data-language-autonym="Malagasy" data-language-local-name="Tiếng Malagasy" class="interlanguage-link-target"><span>Malagasy</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:String" title="ഘടകം:String – Tiếng Malayalam" lang="ml" hreflang="ml" data-title="ഘടകം:String" data-language-autonym="മലയാളം" data-language-local-name="Tiếng Malayalam" class="interlanguage-link-target"><span>മലയാളം</span></a></li><li class="interlanguage-link interwiki-mt mw-list-item"><a href="https://mt.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Malta" lang="mt" hreflang="mt" data-title="Module:String" data-language-autonym="Malti" data-language-local-name="Tiếng Malta" class="interlanguage-link-target"><span>Malti</span></a></li><li class="interlanguage-link interwiki-mi mw-list-item"><a href="https://mi.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Māori" lang="mi" hreflang="mi" data-title="Module:String" data-language-autonym="Māori" data-language-local-name="Tiếng Māori" class="interlanguage-link-target"><span>Māori</span></a></li><li class="interlanguage-link interwiki-mr mw-list-item"><a href="https://mr.wikipedia.org/wiki/%E0%A4%B5%E0%A4%BF%E0%A4%AD%E0%A4%BE%E0%A4%97:String" title="विभाग:String – Tiếng Marathi" lang="mr" hreflang="mr" data-title="विभाग:String" data-language-autonym="मराठी" data-language-local-name="Tiếng Marathi" class="interlanguage-link-target"><span>मराठी</span></a></li><li class="interlanguage-link interwiki-xmf mw-list-item"><a href="https://xmf.wikipedia.org/wiki/%E1%83%9B%E1%83%9D%E1%83%93%E1%83%A3%E1%83%9A%E1%83%98:String" title="მოდული:String – Mingrelian" lang="xmf" hreflang="xmf" data-title="მოდული:String" data-language-autonym="მარგალური" data-language-local-name="Mingrelian" class="interlanguage-link-target"><span>მარგალური</span></a></li><li class="interlanguage-link interwiki-arz mw-list-item"><a href="https://arz.wikipedia.org/wiki/%D9%88%D8%AD%D8%AF%D8%A9:String" title="وحدة:String – Tiếng Ả Rập Ai Cập" lang="arz" hreflang="arz" data-title="وحدة:String" data-language-autonym="مصرى" data-language-local-name="Tiếng Ả Rập Ai Cập" class="interlanguage-link-target"><span>مصرى</span></a></li><li class="interlanguage-link interwiki-mzn mw-list-item"><a href="https://mzn.wikipedia.org/wiki/%D9%85%D8%A7%DA%98%D9%88%D9%84:String" title="ماژول:String – Tiếng Mazanderani" lang="mzn" hreflang="mzn" data-title="ماژول:String" data-language-autonym="مازِرونی" data-language-local-name="Tiếng Mazanderani" class="interlanguage-link-target"><span>مازِرونی</span></a></li><li class="interlanguage-link interwiki-mni mw-list-item"><a href="https://mni.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Manipuri" lang="mni" hreflang="mni" data-title="Module:String" data-language-autonym="ꯃꯤꯇꯩ ꯂꯣꯟ" data-language-local-name="Tiếng Manipuri" class="interlanguage-link-target"><span>ꯃꯤꯇꯩ ꯂꯣꯟ</span></a></li><li class="interlanguage-link interwiki-fat mw-list-item"><a href="https://fat.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Fanti" lang="fat" hreflang="fat" data-title="Module:String" data-language-autonym="Mfantse" data-language-local-name="Tiếng Fanti" class="interlanguage-link-target"><span>Mfantse</span></a></li><li class="interlanguage-link interwiki-min mw-list-item"><a href="https://min.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Minangkabau" lang="min" hreflang="min" data-title="Modul:String" data-language-autonym="Minangkabau" data-language-local-name="Tiếng Minangkabau" class="interlanguage-link-target"><span>Minangkabau</span></a></li><li class="interlanguage-link interwiki-cdo mw-list-item"><a href="https://cdo.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:String" title="模組:String – Mindong" lang="cdo" hreflang="cdo" data-title="模組:String" data-language-autonym="閩東語 / Mìng-dĕ̤ng-ngṳ̄" data-language-local-name="Mindong" class="interlanguage-link-target"><span>閩東語 / Mìng-dĕ̤ng-ngṳ̄</span></a></li><li class="interlanguage-link interwiki-mwl mw-list-item"><a href="https://mwl.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Tiếng Miranda" lang="mwl" hreflang="mwl" data-title="Módulo:String" data-language-autonym="Mirandés" data-language-local-name="Tiếng Miranda" class="interlanguage-link-target"><span>Mirandés</span></a></li><li class="interlanguage-link interwiki-mdf mw-list-item"><a href="https://mdf.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Moksha" lang="mdf" hreflang="mdf" data-title="Модуль:String" data-language-autonym="Мокшень" data-language-local-name="Tiếng Moksha" class="interlanguage-link-target"><span>Мокшень</span></a></li><li class="interlanguage-link interwiki-mn mw-list-item"><a href="https://mn.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Mông Cổ" lang="mn" hreflang="mn" data-title="Module:String" data-language-autonym="Монгол" data-language-local-name="Tiếng Mông Cổ" class="interlanguage-link-target"><span>Монгол</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:String" title="မော်ဂျူး:String – Tiếng Miến Điện" lang="my" hreflang="my" data-title="မော်ဂျူး:String" data-language-autonym="မြန်မာဘာသာ" data-language-local-name="Tiếng Miến Điện" class="interlanguage-link-target"><span>မြန်မာဘာသာ</span></a></li><li class="interlanguage-link interwiki-nah mw-list-item"><a href="https://nah.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Nahuatl" lang="nah" hreflang="nah" data-title="Módulo:String" data-language-autonym="Nāhuatl" data-language-local-name="Nahuatl" class="interlanguage-link-target"><span>Nāhuatl</span></a></li><li class="interlanguage-link interwiki-fj mw-list-item"><a href="https://fj.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Fiji" lang="fj" hreflang="fj" data-title="Module:String" data-language-autonym="Na Vosa Vakaviti" data-language-local-name="Tiếng Fiji" class="interlanguage-link-target"><span>Na Vosa Vakaviti</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Hà Lan" lang="nl" hreflang="nl" data-title="Module:String" data-language-autonym="Nederlands" data-language-local-name="Tiếng Hà Lan" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-nds-nl mw-list-item"><a href="https://nds-nl.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Hạ Saxon" lang="nds-NL" hreflang="nds-NL" data-title="Module:String" data-language-autonym="Nedersaksies" data-language-local-name="Tiếng Hạ Saxon" class="interlanguage-link-target"><span>Nedersaksies</span></a></li><li class="interlanguage-link interwiki-ne mw-list-item"><a href="https://ne.wikipedia.org/wiki/%E0%A4%AE%E0%A5%8B%E0%A4%A1%E0%A5%8D%E0%A4%AF%E0%A5%81%E0%A4%B2:String" title="मोड्युल:String – Tiếng Nepal" lang="ne" hreflang="ne" data-title="मोड्युल:String" data-language-autonym="नेपाली" data-language-local-name="Tiếng Nepal" class="interlanguage-link-target"><span>नेपाली</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:String" title="モジュール:String – Tiếng Nhật" lang="ja" hreflang="ja" data-title="モジュール:String" data-language-autonym="日本語" data-language-local-name="Tiếng Nhật" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-nap mw-list-item"><a href="https://nap.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tiếng Napoli" lang="nap" hreflang="nap" data-title="Modulo:String" data-language-autonym="Napulitano" data-language-local-name="Tiếng Napoli" class="interlanguage-link-target"><span>Napulitano</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:String" title="Модуль:String – Tiếng Chechen" lang="ce" hreflang="ce" data-title="Модуль:String" data-language-autonym="Нохчийн" data-language-local-name="Tiếng Chechen" class="interlanguage-link-target"><span>Нохчийн</span></a></li><li class="interlanguage-link interwiki-frr mw-list-item"><a href="https://frr.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Tiếng Frisia Miền Bắc" lang="frr" hreflang="frr" data-title="Modul:Str" data-language-autonym="Nordfriisk" data-language-local-name="Tiếng Frisia Miền Bắc" class="interlanguage-link-target"><span>Nordfriisk</span></a></li><li class="interlanguage-link interwiki-pih mw-list-item"><a href="https://pih.wikipedia.org/wiki/Module:String" title="Module:String – Norfuk / Pitkern" lang="pih" hreflang="pih" data-title="Module:String" data-language-autonym="Norfuk / Pitkern" data-language-local-name="Norfuk / Pitkern" class="interlanguage-link-target"><span>Norfuk / Pitkern</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Na Uy (Bokmål)" lang="nb" hreflang="nb" data-title="Modul:String" data-language-autonym="Norsk bokmål" data-language-local-name="Tiếng Na Uy (Bokmål)" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-nn mw-list-item"><a href="https://nn.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Na Uy (Nynorsk)" lang="nn" hreflang="nn" data-title="Modul:String" data-language-autonym="Norsk nynorsk" data-language-local-name="Tiếng Na Uy (Nynorsk)" class="interlanguage-link-target"><span>Norsk nynorsk</span></a></li><li class="interlanguage-link interwiki-nov mw-list-item"><a href="https://nov.wikipedia.org/wiki/Module:String" title="Module:String – Novial" lang="nov" hreflang="nov" data-title="Module:String" data-language-autonym="Novial" data-language-local-name="Novial" class="interlanguage-link-target"><span>Novial</span></a></li><li class="interlanguage-link interwiki-oc mw-list-item"><a href="https://oc.wikipedia.org/wiki/M%C3%B2dul:String" title="Mòdul:String – Tiếng Occitan" lang="oc" hreflang="oc" data-title="Mòdul:String" data-language-autonym="Occitan" data-language-local-name="Tiếng Occitan" class="interlanguage-link-target"><span>Occitan</span></a></li><li class="interlanguage-link interwiki-mhr mw-list-item"><a href="https://mhr.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Eastern Mari" lang="mhr" hreflang="mhr" data-title="Модуль:String" data-language-autonym="Олык марий" data-language-local-name="Eastern Mari" class="interlanguage-link-target"><span>Олык марий</span></a></li><li class="interlanguage-link interwiki-or mw-list-item"><a href="https://or.wikipedia.org/wiki/%E0%AC%AE%E0%AC%A1%E0%AD%8D%E0%AD%9F%E0%AD%81%E0%AC%B2:String" title="ମଡ୍ୟୁଲ:String – Tiếng Odia" lang="or" hreflang="or" data-title="ମଡ୍ୟୁଲ:String" data-language-autonym="ଓଡ଼ିଆ" data-language-local-name="Tiếng Odia" class="interlanguage-link-target"><span>ଓଡ଼ିଆ</span></a></li><li class="interlanguage-link interwiki-uz mw-list-item"><a href="https://uz.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Uzbek" lang="uz" hreflang="uz" data-title="Modul:String" data-language-autonym="Oʻzbekcha / ўзбекча" data-language-local-name="Tiếng 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:String" title="ਮੌਡਿਊਲ:String – Tiếng Punjab" lang="pa" hreflang="pa" data-title="ਮੌਡਿਊਲ:String" data-language-autonym="ਪੰਜਾਬੀ" data-language-local-name="Tiếng Punjab" 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:String" title="Module:String – Tiếng Pali" lang="pi" hreflang="pi" data-title="Module:String" data-language-autonym="पालि" data-language-local-name="Tiếng Pali" class="interlanguage-link-target"><span>पालि</span></a></li><li class="interlanguage-link interwiki-pag mw-list-item"><a href="https://pag.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Pangasinan" lang="pag" hreflang="pag" data-title="Module:String" data-language-autonym="Pangasinan" data-language-local-name="Tiếng Pangasinan" class="interlanguage-link-target"><span>Pangasinan</span></a></li><li class="interlanguage-link interwiki-pnb mw-list-item"><a href="https://pnb.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:String" title="ماڈیول:String – Western Punjabi" lang="pnb" hreflang="pnb" data-title="ماڈیول:String" data-language-autonym="پنجابی" data-language-local-name="Western Punjabi" class="interlanguage-link-target"><span>پنجابی</span></a></li><li class="interlanguage-link interwiki-blk mw-list-item"><a href="https://blk.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:String" title="မော်ဂျူး:String – Pa'O" lang="blk" hreflang="blk" data-title="မော်ဂျူး:String" data-language-autonym="ပအိုဝ်ႏဘာႏသာႏ" data-language-local-name="Pa'O" class="interlanguage-link-target"><span>ပအိုဝ်ႏဘာႏသာႏ</span></a></li><li class="interlanguage-link interwiki-pap mw-list-item"><a href="https://pap.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Papiamento" lang="pap" hreflang="pap" data-title="Module:String" data-language-autonym="Papiamentu" data-language-local-name="Tiếng Papiamento" class="interlanguage-link-target"><span>Papiamentu</span></a></li><li class="interlanguage-link interwiki-ps mw-list-item"><a href="https://ps.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Pashto" lang="ps" hreflang="ps" data-title="Module:String" data-language-autonym="پښتو" data-language-local-name="Tiếng Pashto" class="interlanguage-link-target"><span>پښتو</span></a></li><li class="interlanguage-link interwiki-koi mw-list-item"><a href="https://koi.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Komi-Permyak" lang="koi" hreflang="koi" data-title="Модуль:String" data-language-autonym="Перем коми" data-language-local-name="Tiếng Komi-Permyak" class="interlanguage-link-target"><span>Перем коми</span></a></li><li class="interlanguage-link interwiki-km mw-list-item"><a href="https://km.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Khmer" lang="km" hreflang="km" data-title="Module:String" data-language-autonym="ភាសាខ្មែរ" data-language-local-name="Tiếng Khmer" 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:String" title="မေႃႇၵျူး:String – Tiếng Shan" lang="shn" hreflang="shn" data-title="မေႃႇၵျူး:String" data-language-autonym="ၽႃႇသႃႇတႆး " data-language-local-name="Tiếng Shan" class="interlanguage-link-target"><span>ၽႃႇသႃႇတႆး </span></a></li><li class="interlanguage-link interwiki-mnw mw-list-item"><a href="https://mnw.wikipedia.org/wiki/%E1%80%99%E1%80%9D%E1%80%BA%E1%80%82%E1%80%BB%E1%80%B0:String" title="မဝ်ဂျူ:String – Mon" lang="mnw" hreflang="mnw" data-title="မဝ်ဂျူ:String" data-language-autonym="ဘာသာမန်" data-language-local-name="Mon" class="interlanguage-link-target"><span>ဘာသာမန်</span></a></li><li class="interlanguage-link interwiki-pcd mw-list-item"><a href="https://pcd.wikipedia.org/wiki/Module:String" title="Module:String – Picard" lang="pcd" hreflang="pcd" data-title="Module:String" data-language-autonym="Picard" data-language-local-name="Picard" class="interlanguage-link-target"><span>Picard</span></a></li><li class="interlanguage-link interwiki-pms mw-list-item"><a href="https://pms.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Piedmontese" lang="pms" hreflang="pms" data-title="Modulo:String" data-language-autonym="Piemontèis" data-language-local-name="Piedmontese" class="interlanguage-link-target"><span>Piemontèis</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/Modu%C5%82:String" title="Moduł:String – Tiếng Ba Lan" lang="pl" hreflang="pl" data-title="Moduł:String" data-language-autonym="Polski" data-language-local-name="Tiếng Ba Lan" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Tiếng Bồ Đào Nha" lang="pt" hreflang="pt" data-title="Módulo:String" data-language-autonym="Português" data-language-local-name="Tiếng Bồ Đào Nha" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-crh mw-list-item"><a href="https://crh.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Thổ Nhĩ Kỳ Crimean" lang="crh" hreflang="crh" data-title="Modul:String" data-language-autonym="Qırımtatarca" data-language-local-name="Tiếng Thổ Nhĩ Kỳ Crimean" class="interlanguage-link-target"><span>Qırımtatarca</span></a></li><li class="interlanguage-link interwiki-ro mw-list-item"><a href="https://ro.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Romania" lang="ro" hreflang="ro" data-title="Modul:String" data-language-autonym="Română" data-language-local-name="Tiếng Romania" class="interlanguage-link-target"><span>Română</span></a></li><li class="interlanguage-link interwiki-rm mw-list-item"><a href="https://rm.wikipedia.org/wiki/Modul:Str" title="Modul:Str – Tiếng Romansh" lang="rm" hreflang="rm" data-title="Modul:Str" data-language-autonym="Rumantsch" data-language-local-name="Tiếng Romansh" class="interlanguage-link-target"><span>Rumantsch</span></a></li><li class="interlanguage-link interwiki-qu mw-list-item"><a href="https://qu.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Tiếng Quechua" lang="qu" hreflang="qu" data-title="Módulo:String" data-language-autonym="Runa Simi" data-language-local-name="Tiếng Quechua" class="interlanguage-link-target"><span>Runa Simi</span></a></li><li class="interlanguage-link interwiki-rue mw-list-item"><a href="https://rue.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Rusyn" lang="rue" hreflang="rue" data-title="Модуль:String" data-language-autonym="Русиньскый" data-language-local-name="Rusyn" class="interlanguage-link-target"><span>Русиньскый</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Nga" lang="ru" hreflang="ru" data-title="Модуль:String" data-language-autonym="Русский" data-language-local-name="Tiếng Nga" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sah mw-list-item"><a href="https://sah.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Sakha" lang="sah" hreflang="sah" data-title="Модуль:String" data-language-autonym="Саха тыла" data-language-local-name="Tiếng Sakha" class="interlanguage-link-target"><span>Саха тыла</span></a></li><li class="interlanguage-link interwiki-szy mw-list-item"><a href="https://szy.wikipedia.org/wiki/bacu-saupu:String" title="bacu-saupu:String – Sakizaya" lang="szy" hreflang="szy" data-title="bacu-saupu:String" data-language-autonym="Sakizaya" data-language-local-name="Sakizaya" class="interlanguage-link-target"><span>Sakizaya</span></a></li><li class="interlanguage-link interwiki-sa mw-list-item"><a href="https://sa.wikipedia.org/wiki/%E0%A4%AA%E0%A4%9F%E0%A4%B2%E0%A4%AE%E0%A5%8D:String" title="पटलम्:String – Tiếng Phạn" lang="sa" hreflang="sa" data-title="पटलम्:String" data-language-autonym="संस्कृतम्" data-language-local-name="Tiếng Phạn" class="interlanguage-link-target"><span>संस्कृतम्</span></a></li><li class="interlanguage-link interwiki-sat mw-list-item"><a href="https://sat.wikipedia.org/wiki/%E1%B1%A2%E1%B1%B3%E1%B1%B0%E1%B1%A9%E1%B1%9E:String" title="ᱢᱳᱰᱩᱞ:String – Tiếng Santali" lang="sat" hreflang="sat" data-title="ᱢᱳᱰᱩᱞ:String" data-language-autonym="ᱥᱟᱱᱛᱟᱲᱤ" data-language-local-name="Tiếng Santali" class="interlanguage-link-target"><span>ᱥᱟᱱᱛᱟᱲᱤ</span></a></li><li class="interlanguage-link interwiki-skr mw-list-item"><a href="https://skr.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:String" title="ماڈیول:String – Saraiki" lang="skr" hreflang="skr" data-title="ماڈیول:String" data-language-autonym="سرائیکی" data-language-local-name="Saraiki" class="interlanguage-link-target"><span>سرائیکی</span></a></li><li class="interlanguage-link interwiki-sc mw-list-item"><a href="https://sc.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Sardinia" lang="sc" hreflang="sc" data-title="Module:String" data-language-autonym="Sardu" data-language-local-name="Tiếng Sardinia" class="interlanguage-link-target"><span>Sardu</span></a></li><li class="interlanguage-link interwiki-sco mw-list-item"><a href="https://sco.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Scots" lang="sco" hreflang="sco" data-title="Module:String" data-language-autonym="Scots" data-language-local-name="Tiếng Scots" class="interlanguage-link-target"><span>Scots</span></a></li><li class="interlanguage-link interwiki-nso mw-list-item"><a href="https://nso.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Sotho Miền Bắc" lang="nso" hreflang="nso" data-title="Module:String" data-language-autonym="Sesotho sa Leboa" data-language-local-name="Tiếng Sotho Miền Bắc" class="interlanguage-link-target"><span>Sesotho sa Leboa</span></a></li><li class="interlanguage-link interwiki-tn mw-list-item"><a href="https://tn.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Tswana" lang="tn" hreflang="tn" data-title="Module:String" data-language-autonym="Setswana" data-language-local-name="Tiếng Tswana" class="interlanguage-link-target"><span>Setswana</span></a></li><li class="interlanguage-link interwiki-sq mw-list-item"><a href="https://sq.wikipedia.org/wiki/Moduli:String" title="Moduli:String – Tiếng Albania" lang="sq" hreflang="sq" data-title="Moduli:String" data-language-autonym="Shqip" data-language-local-name="Tiếng Albania" class="interlanguage-link-target"><span>Shqip</span></a></li><li class="interlanguage-link interwiki-scn mw-list-item"><a href="https://scn.wikipedia.org/wiki/M%C3%B2dulu:String" title="Mòdulu:String – Tiếng Sicilia" lang="scn" hreflang="scn" data-title="Mòdulu:String" data-language-autonym="Sicilianu" data-language-local-name="Tiếng Sicilia" class="interlanguage-link-target"><span>Sicilianu</span></a></li><li class="interlanguage-link interwiki-si mw-list-item"><a href="https://si.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Sinhala" lang="si" hreflang="si" data-title="Module:String" data-language-autonym="සිංහල" data-language-local-name="Tiếng 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:String" title="Module:String – Simple English" lang="en-simple" hreflang="en-simple" data-title="Module:String" 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-sd mw-list-item"><a href="https://sd.wikipedia.org/wiki/%D9%85%D8%A7%DA%8A%D9%8A%D9%88%D9%84:String" title="ماڊيول:String – Tiếng Sindhi" lang="sd" hreflang="sd" data-title="ماڊيول:String" data-language-autonym="سنڌي" data-language-local-name="Tiếng Sindhi" class="interlanguage-link-target"><span>سنڌي</span></a></li><li class="interlanguage-link interwiki-ss mw-list-item"><a href="https://ss.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Swati" lang="ss" hreflang="ss" data-title="Module:String" data-language-autonym="SiSwati" data-language-local-name="Tiếng Swati" class="interlanguage-link-target"><span>SiSwati</span></a></li><li class="interlanguage-link interwiki-sk mw-list-item"><a href="https://sk.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Slovak" lang="sk" hreflang="sk" data-title="Modul:String" data-language-autonym="Slovenčina" data-language-local-name="Tiếng Slovak" class="interlanguage-link-target"><span>Slovenčina</span></a></li><li class="interlanguage-link interwiki-sl mw-list-item"><a href="https://sl.wikipedia.org/wiki/Modul:Niz" title="Modul:Niz – Tiếng Slovenia" lang="sl" hreflang="sl" data-title="Modul:Niz" data-language-autonym="Slovenščina" data-language-local-name="Tiếng Slovenia" class="interlanguage-link-target"><span>Slovenščina</span></a></li><li class="interlanguage-link interwiki-szl mw-list-item"><a href="https://szl.wikipedia.org/wiki/Modu%C5%82:String" title="Moduł:String – Silesian" lang="szl" hreflang="szl" data-title="Moduł:String" data-language-autonym="Ślůnski" data-language-local-name="Silesian" class="interlanguage-link-target"><span>Ślůnski</span></a></li><li class="interlanguage-link interwiki-so mw-list-item"><a href="https://so.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Somali" lang="so" hreflang="so" data-title="Module:String" data-language-autonym="Soomaaliga" data-language-local-name="Tiếng Somali" class="interlanguage-link-target"><span>Soomaaliga</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:String" title="مۆدیوول:String – Tiếng Kurd Miền Trung" lang="ckb" hreflang="ckb" data-title="مۆدیوول:String" data-language-autonym="کوردی" data-language-local-name="Tiếng Kurd Miền Trung" 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:String" title="Модул:String – Tiếng Serbia" lang="sr" hreflang="sr" data-title="Модул:String" data-language-autonym="Српски / srpski" data-language-local-name="Tiếng Serbia" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-sh mw-list-item"><a href="https://sh.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Serbo-Croatia" lang="sh" hreflang="sh" data-title="Modul:String" data-language-autonym="Srpskohrvatski / српскохрватски" data-language-local-name="Tiếng Serbo-Croatia" class="interlanguage-link-target"><span>Srpskohrvatski / српскохрватски</span></a></li><li class="interlanguage-link interwiki-su mw-list-item"><a href="https://su.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Sunda" lang="su" hreflang="su" data-title="Modul:String" data-language-autonym="Sunda" data-language-local-name="Tiếng Sunda" class="interlanguage-link-target"><span>Sunda</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/Moduuli:String" title="Moduuli:String – Tiếng Phần Lan" lang="fi" hreflang="fi" data-title="Moduuli:String" data-language-autonym="Suomi" data-language-local-name="Tiếng Phần Lan" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Thụy Điển" lang="sv" hreflang="sv" data-title="Modul:String" data-language-autonym="Svenska" data-language-local-name="Tiếng Thụy Điển" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-shi mw-list-item"><a href="https://shi.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Tachelhit" lang="shi" hreflang="shi" data-title="Module:String" data-language-autonym="Taclḥit" data-language-local-name="Tiếng Tachelhit" class="interlanguage-link-target"><span>Taclḥit</span></a></li><li class="interlanguage-link interwiki-tl mw-list-item"><a href="https://tl.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Tagalog" lang="tl" hreflang="tl" data-title="Module:String" data-language-autonym="Tagalog" data-language-local-name="Tiếng Tagalog" class="interlanguage-link-target"><span>Tagalog</span></a></li><li class="interlanguage-link interwiki-ta mw-list-item"><a href="https://ta.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Tamil" lang="ta" hreflang="ta" data-title="Module:String" data-language-autonym="தமிழ்" data-language-local-name="Tiếng Tamil" class="interlanguage-link-target"><span>தமிழ்</span></a></li><li class="interlanguage-link interwiki-kab mw-list-item"><a href="https://kab.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Kabyle" lang="kab" hreflang="kab" data-title="Module:String" data-language-autonym="Taqbaylit" data-language-local-name="Tiếng Kabyle" class="interlanguage-link-target"><span>Taqbaylit</span></a></li><li class="interlanguage-link interwiki-roa-tara mw-list-item"><a href="https://roa-tara.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Tarantino" lang="nap-x-tara" hreflang="nap-x-tara" data-title="Modulo:String" data-language-autonym="Tarandíne" data-language-local-name="Tarantino" class="interlanguage-link-target"><span>Tarandíne</span></a></li><li class="interlanguage-link interwiki-tt mw-list-item"><a href="https://tt.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Tatar" lang="tt" hreflang="tt" data-title="Модуль:String" data-language-autonym="Татарча / tatarça" data-language-local-name="Tiếng Tatar" class="interlanguage-link-target"><span>Татарча / tatarça</span></a></li><li class="interlanguage-link interwiki-te mw-list-item"><a href="https://te.wikipedia.org/wiki/%E0%B0%AE%E0%B0%BE%E0%B0%A1%E0%B1%8D%E0%B0%AF%E0%B1%82%E0%B0%B2%E0%B1%8D:String" title="మాడ్యూల్:String – Tiếng Telugu" lang="te" hreflang="te" data-title="మాడ్యూల్:String" data-language-autonym="తెలుగు" data-language-local-name="Tiếng Telugu" class="interlanguage-link-target"><span>తెలుగు</span></a></li><li class="interlanguage-link interwiki-din mw-list-item"><a href="https://din.wikipedia.org/wiki/Muk%C3%A4%C3%A4c%C3%ABt%C3%B6k:String" title="Mukääcëtök:String – Tiếng Dinka" lang="din" hreflang="din" data-title="Mukääcëtök:String" data-language-autonym="Thuɔŋjäŋ" data-language-local-name="Tiếng Dinka" class="interlanguage-link-target"><span>Thuɔŋjäŋ</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:String" title="มอดูล:String – Tiếng Thái" lang="th" hreflang="th" data-title="มอดูล:String" data-language-autonym="ไทย" data-language-local-name="Tiếng Thái" class="interlanguage-link-target"><span>ไทย</span></a></li><li class="interlanguage-link interwiki-ti mw-list-item"><a href="https://ti.wikipedia.org/wiki/%E1%88%9E%E1%8B%B5%E1%8B%A9%E1%88%8D:String" title="ሞድዩል:String – Tiếng Tigrinya" lang="ti" hreflang="ti" data-title="ሞድዩል:String" data-language-autonym="ትግርኛ" data-language-local-name="Tiếng Tigrinya" class="interlanguage-link-target"><span>ትግርኛ</span></a></li><li class="interlanguage-link interwiki-tg mw-list-item"><a href="https://tg.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:String" title="Модул:String – Tiếng Tajik" lang="tg" hreflang="tg" data-title="Модул:String" data-language-autonym="Тоҷикӣ" data-language-local-name="Tiếng Tajik" class="interlanguage-link-target"><span>Тоҷикӣ</span></a></li><li class="interlanguage-link interwiki-ve mw-list-item"><a href="https://ve.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Venda" lang="ve" hreflang="ve" data-title="Module:String" data-language-autonym="Tshivenda" data-language-local-name="Tiếng Venda" class="interlanguage-link-target"><span>Tshivenda</span></a></li><li class="interlanguage-link interwiki-tcy mw-list-item"><a href="https://tcy.wikipedia.org/wiki/%E0%B2%AE%E0%B3%8B%E0%B2%A1%E0%B3%8D%E0%B2%AF%E0%B3%82%E0%B2%B2%E0%B3%8D:String" title="ಮೋಡ್ಯೂಲ್:String – Tulu" lang="tcy" hreflang="tcy" data-title="ಮೋಡ್ಯೂಲ್:String" data-language-autonym="ತುಳು" data-language-local-name="Tulu" 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:Dizgi" title="Modül:Dizgi – Tiếng Thổ Nhĩ Kỳ" lang="tr" hreflang="tr" data-title="Modül:Dizgi" data-language-autonym="Türkçe" data-language-local-name="Tiếng Thổ Nhĩ Kỳ" class="interlanguage-link-target"><span>Türkçe</span></a></li><li class="interlanguage-link interwiki-tk mw-list-item"><a href="https://tk.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Turkmen" lang="tk" hreflang="tk" data-title="Module:String" data-language-autonym="Türkmençe" data-language-local-name="Tiếng Turkmen" class="interlanguage-link-target"><span>Türkmençe</span></a></li><li class="interlanguage-link interwiki-tyv mw-list-item"><a href="https://tyv.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Tuvinian" lang="tyv" hreflang="tyv" data-title="Модуль:String" data-language-autonym="Тыва дыл" data-language-local-name="Tiếng Tuvinian" class="interlanguage-link-target"><span>Тыва дыл</span></a></li><li class="interlanguage-link interwiki-udm mw-list-item"><a href="https://udm.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB%D1%8C:String" title="Модуль:String – Tiếng Udmurt" lang="udm" hreflang="udm" data-title="Модуль:String" data-language-autonym="Удмурт" data-language-local-name="Tiếng Udmurt" class="interlanguage-link-target"><span>Удмурт</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:String" title="Модуль:String – Tiếng Ukraina" lang="uk" hreflang="uk" data-title="Модуль:String" data-language-autonym="Українська" data-language-local-name="Tiếng Ukraina" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-ur mw-list-item"><a href="https://ur.wikipedia.org/wiki/%D9%85%D8%A7%DA%88%DB%8C%D9%88%D9%84:String" title="ماڈیول:String – Tiếng Urdu" lang="ur" hreflang="ur" data-title="ماڈیول:String" data-language-autonym="اردو" data-language-local-name="Tiếng Urdu" class="interlanguage-link-target"><span>اردو</span></a></li><li class="interlanguage-link interwiki-za mw-list-item"><a href="https://za.wikipedia.org/wiki/%E6%A8%A1%E5%9D%97:String" title="模块:String – Tiếng Choang" lang="za" hreflang="za" data-title="模块:String" data-language-autonym="Vahcuengh" data-language-local-name="Tiếng Choang" class="interlanguage-link-target"><span>Vahcuengh</span></a></li><li class="interlanguage-link interwiki-vec mw-list-item"><a href="https://vec.wikipedia.org/wiki/Modulo:String" title="Modulo:String – Venetian" lang="vec" hreflang="vec" data-title="Modulo:String" data-language-autonym="Vèneto" data-language-local-name="Venetian" class="interlanguage-link-target"><span>Vèneto</span></a></li><li class="interlanguage-link interwiki-vep mw-list-item"><a href="https://vep.wikipedia.org/wiki/Moodul:String" title="Moodul:String – Veps" lang="vep" hreflang="vep" data-title="Moodul:String" data-language-autonym="Vepsän kel’" data-language-local-name="Veps" class="interlanguage-link-target"><span>Vepsän kel’</span></a></li><li class="interlanguage-link interwiki-vo mw-list-item"><a href="https://vo.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Volapük" lang="vo" hreflang="vo" data-title="Module:String" data-language-autonym="Volapük" data-language-local-name="Tiếng Volapük" class="interlanguage-link-target"><span>Volapük</span></a></li><li class="interlanguage-link interwiki-zh-classical mw-list-item"><a href="https://zh-classical.wikipedia.org/wiki/%E6%A8%A1%E7%B5%84:String" title="模組:String – Literary Chinese" lang="lzh" hreflang="lzh" data-title="模組:String" data-language-autonym="文言" data-language-local-name="Literary Chinese" class="interlanguage-link-target"><span>文言</span></a></li><li class="interlanguage-link interwiki-war mw-list-item"><a href="https://war.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Waray" lang="war" hreflang="war" data-title="Module:String" data-language-autonym="Winaray" data-language-local-name="Tiếng Waray" class="interlanguage-link-target"><span>Winaray</span></a></li><li class="interlanguage-link interwiki-guc mw-list-item"><a href="https://guc.wikipedia.org/wiki/M%C3%B3dulo:String" title="Módulo:String – Wayuu" lang="guc" hreflang="guc" data-title="Módulo:String" data-language-autonym="Wayuunaiki" data-language-local-name="Wayuu" class="interlanguage-link-target"><span>Wayuunaiki</span></a></li><li class="interlanguage-link interwiki-wo mw-list-item"><a href="https://wo.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Wolof" lang="wo" hreflang="wo" data-title="Module:String" data-language-autonym="Wolof" data-language-local-name="Tiếng Wolof" class="interlanguage-link-target"><span>Wolof</span></a></li><li class="interlanguage-link interwiki-wuu mw-list-item"><a href="https://wuu.wikipedia.org/wiki/%E6%A8%A1%E5%9D%97:String" title="模块:String – Tiếng Ngô" lang="wuu" hreflang="wuu" data-title="模块:String" data-language-autonym="吴语" data-language-local-name="Tiếng Ngô" class="interlanguage-link-target"><span>吴语</span></a></li><li class="interlanguage-link interwiki-ts mw-list-item"><a href="https://ts.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Tsonga" lang="ts" hreflang="ts" data-title="Module:String" data-language-autonym="Xitsonga" data-language-local-name="Tiếng Tsonga" class="interlanguage-link-target"><span>Xitsonga</span></a></li><li class="interlanguage-link interwiki-yi mw-list-item"><a href="https://yi.wikipedia.org/wiki/%D7%99%D7%97%D7%99%D7%93%D7%94:String" title="יחידה:String – Tiếng Yiddish" lang="yi" hreflang="yi" data-title="יחידה:String" data-language-autonym="ייִדיש" data-language-local-name="Tiếng Yiddish" class="interlanguage-link-target"><span>ייִדיש</span></a></li><li class="interlanguage-link interwiki-yo mw-list-item"><a href="https://yo.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Yoruba" lang="yo" hreflang="yo" data-title="Module:String" data-language-autonym="Yorùbá" data-language-local-name="Tiếng Yoruba" class="interlanguage-link-target"><span>Yorùbá</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:String" title="模組:String – Tiếng Quảng Đông" lang="yue" hreflang="yue" data-title="模組:String" data-language-autonym="粵語" data-language-local-name="Tiếng Quảng Đông" class="interlanguage-link-target"><span>粵語</span></a></li><li class="interlanguage-link interwiki-diq mw-list-item"><a href="https://diq.wikipedia.org/wiki/Modul:String" title="Modul:String – Zazaki" lang="diq" hreflang="diq" data-title="Modul:String" data-language-autonym="Zazaki" data-language-local-name="Zazaki" class="interlanguage-link-target"><span>Zazaki</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/Module:String" title="Module:String – Tiếng Trung" lang="zh" hreflang="zh" data-title="Module:String" data-language-autonym="中文" data-language-local-name="Tiếng Trung" class="interlanguage-link-target"><span>中文</span></a></li><li class="interlanguage-link interwiki-btm mw-list-item"><a href="https://btm.wikipedia.org/wiki/Modul:String" title="Modul:String – Batak Mandailing" lang="btm" hreflang="btm" data-title="Modul:String" data-language-autonym="Batak Mandailing" data-language-local-name="Batak Mandailing" class="interlanguage-link-target"><span>Batak Mandailing</span></a></li><li class="interlanguage-link interwiki-iba mw-list-item"><a href="https://iba.wikipedia.org/wiki/Modul:String" title="Modul:String – Tiếng Iban" lang="iba" hreflang="iba" data-title="Modul:String" data-language-autonym="Jaku Iban" data-language-local-name="Tiếng Iban" class="interlanguage-link-target"><span>Jaku Iban</span></a></li><li class="interlanguage-link interwiki-rsk mw-list-item"><a href="https://rsk.wikipedia.org/wiki/%D0%9C%D0%BE%D0%B4%D1%83%D0%BB:String" title="Модул:String – Pannonian Rusyn" lang="rsk" hreflang="rsk" data-title="Модул:String" data-language-autonym="Руски" data-language-local-name="Pannonian Rusyn" class="interlanguage-link-target"><span>Руски</span></a></li><li class="interlanguage-link interwiki-tdd mw-list-item"><a href="https://tdd.wikipedia.org/wiki/%E1%A5%9B%E1%A5%A8%E1%A5%9D%E1%A5%B1_%E1%A5%93%E1%A5%A7%E1%A5%B0:String" title="ᥛᥨᥝᥱ ᥓᥧᥰ:String – Tai Nuea" lang="tdd" hreflang="tdd" data-title="ᥛᥨᥝᥱ ᥓᥧᥰ:String" data-language-autonym="ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ" data-language-local-name="Tai Nuea" class="interlanguage-link-target"><span>ᥖᥭᥰ ᥖᥬᥲ ᥑᥨᥒᥰ</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/Q7253814#sitelinks-wikipedia" title="Sửa liên kết giữa ngôn ngữ" class="wbc-editpage">Sửa liên kết</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="Không gian tên"> <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/M%C3%B4_%C4%91un:String" title="Xem mô đun [c]" accesskey="c"><span>Mô đun</span></a></li><li id="ca-talk" class="new vector-tab-noicon mw-list-item"><a href="/w/index.php?title=Th%E1%BA%A3o_lu%E1%BA%ADn_M%C3%B4_%C4%91un:String&action=edit&redlink=1" rel="discussion" class="new" title="Thảo luận về trang này (trang không tồn tại) [t]" accesskey="t"><span>Thảo luận</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="Thay đổi biến thể ngôn ngữ" > <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="Giao diện"> <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/M%C3%B4_%C4%91un:String"><span>Đọc</span></a></li><li id="ca-viewsource" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=M%C3%B4_%C4%91un:String&action=edit" title="Trang này được khóa. Bạn có thể xem mã nguồn. [e]" accesskey="e"><span>Xem mã nguồn</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=M%C3%B4_%C4%91un:String&action=history" title="Các phiên bản cũ của trang này [h]" accesskey="h"><span>Xem lịch sử</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Công cụ trang"> <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="Công cụ" > <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">Công cụ</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">Công cụ</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">chuyển sang thanh bên</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">ẩn</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="Thêm tùy chọn" > <div class="vector-menu-heading"> Tác vụ </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/M%C3%B4_%C4%91un:String"><span>Đọc</span></a></li><li id="ca-more-viewsource" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=M%C3%B4_%C4%91un:String&action=edit"><span>Xem mã nguồn</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=M%C3%B4_%C4%91un:String&action=history"><span>Xem lịch sử</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> Chung </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Li%C3%AAn_k%E1%BA%BFt_%C4%91%E1%BA%BFn_%C4%91%C3%A2y/M%C3%B4_%C4%91un:String" title="Các trang liên kết đến đây [j]" accesskey="j"><span>Các liên kết đến đây</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Thay_%C4%91%E1%BB%95i_li%C3%AAn_quan/M%C3%B4_%C4%91un:String" rel="nofollow" title="Thay đổi gần đây của các trang liên kết đến đây [k]" accesskey="k"><span>Thay đổi liên quan</span></a></li><li id="t-specialpages" class="mw-list-item"><a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Trang_%C4%91%E1%BA%B7c_bi%E1%BB%87t" title="Một danh sách chứa tất cả trang đặc biệt [q]" accesskey="q"><span>Trang đặc biệt</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=M%C3%B4_%C4%91un:String&oldid=64170482" title="Liên kết thường trực đến phiên bản này của trang"><span>Liên kết thường trực</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=M%C3%B4_%C4%91un:String&action=info" title="Thêm chi tiết về trang này"><span>Thông tin trang</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t:UrlShortener&url=https%3A%2F%2Fvi.wikipedia.org%2Fwiki%2FM%25C3%25B4_%25C4%2591un%3AString"><span>Lấy URL ngắn gọn</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t:QrCode&url=https%3A%2F%2Fvi.wikipedia.org%2Fwiki%2FM%25C3%25B4_%25C4%2591un%3AString"><span>Tải mã QR</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"> In/xuất ra </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=%C4%90%E1%BA%B7c_bi%E1%BB%87t:DownloadAsPdf&page=M%C3%B4_%C4%91un%3AString&action=show-download-screen"><span>Tải về PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="javascript:print();" rel="alternate" title="Bản để in ra của trang [p]" accesskey="p"><span>Bản để in ra</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"> Tại dự án khác </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Module:String" hreflang="en"><span>Wikimedia Commons</span></a></li><li class="wb-otherproject-link wb-otherproject-foundation mw-list-item"><a href="https://foundation.wikimedia.org/wiki/Module:String" hreflang="en"><span>Wikimedia Foundation</span></a></li><li class="wb-otherproject-link wb-otherproject-mediawiki mw-list-item"><a href="https://www.mediawiki.org/wiki/Module:String" hreflang="en"><span>MediaWiki</span></a></li><li class="wb-otherproject-link wb-otherproject-meta mw-list-item"><a href="https://meta.wikimedia.org/wiki/Module:String" hreflang="en"><span>Meta-Wiki</span></a></li><li class="wb-otherproject-link wb-otherproject-outreach mw-list-item"><a href="https://outreach.wikimedia.org/wiki/Module:String" hreflang="en"><span>Wikimedia Outreach</span></a></li><li class="wb-otherproject-link wb-otherproject-sources mw-list-item"><a href="https://wikisource.org/wiki/Module:String" hreflang="en"><span>Wikisource đa ngôn ngữ</span></a></li><li class="wb-otherproject-link wb-otherproject-species mw-list-item"><a href="https://species.wikimedia.org/wiki/Module:String" hreflang="en"><span>Wikispecies</span></a></li><li class="wb-otherproject-link wb-otherproject-wikibooks mw-list-item"><a href="https://vi.wikibooks.org/wiki/M%C3%B4_%C4%91un:String" hreflang="vi"><span>Wikibooks</span></a></li><li class="wb-otherproject-link wb-otherproject-wikidata mw-list-item"><a href="https://www.wikidata.org/wiki/Module:String" hreflang="en"><span>Wikidata</span></a></li><li class="wb-otherproject-link wb-otherproject-wikifunctions mw-list-item"><a href="https://www.wikifunctions.org/wiki/Module:String" hreflang="en"><span>Wikifunctions</span></a></li><li class="wb-otherproject-link wb-otherproject-wikimania mw-list-item"><a href="https://wikimania.wikimedia.org/wiki/Module:String" hreflang="en"><span>Wikimania</span></a></li><li class="wb-otherproject-link wb-otherproject-wikisource mw-list-item"><a href="https://vi.wikisource.org/wiki/M%C3%B4_%C4%91un:String" hreflang="vi"><span>Wikisource</span></a></li><li class="wb-otherproject-link wb-otherproject-wikivoyage mw-list-item"><a href="https://vi.wikivoyage.org/wiki/M%C3%B4_%C4%91un:String" hreflang="vi"><span>Wikivoyage</span></a></li><li class="wb-otherproject-link wb-otherproject-wiktionary mw-list-item"><a href="https://vi.wiktionary.org/wiki/M%C3%B4_%C4%91un:String" hreflang="vi"><span>Wiktionary</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/Q7253814" title="Liên kết đến khoản mục kết nối trong kho dữ liệu [g]" accesskey="g"><span>Khoản mục Wikidata</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="Công cụ trang"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Giao diện"> <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">Giao diện</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">chuyển sang thanh bên</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">ẩn</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:Quy_%C4%91%E1%BB%8Bnh_kh%C3%B3a_trang#Khóa_hẳn" title="Trang mô đun nguy hiểm cao này đã bị khóa vô hạn để ngăn chặn phá hoại"><img alt="Trang mô đun bị khóa vô hạn" src="//upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/20px-Full-protection-shackle-block.svg.png" decoding="async" width="20" height="20" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/30px-Full-protection-shackle-block.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/40px-Full-protection-shackle-block.svg.png 2x" data-file-width="512" data-file-height="512" /></a></span></div></div> </div> <div id="siteSub" class="noprint">Bách khoa toàn thư mở Wikipedia</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="vi" dir="ltr"><style data-mw-deduplicate="TemplateStyles:r71935964">.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> Tài liệu mô đun</span><span class="mw-editsection-like plainlinks">[<a href="/wiki/M%C3%B4_%C4%91un:String/t%C3%A0i_li%E1%BB%87u" title="Mô đun:String/tài liệu">xem</a>] [<a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:EditPage/M%C3%B4_%C4%91un:String/t%C3%A0i_li%E1%BB%87u" title="Đặc biệt:EditPage/Mô đun:String/tài liệu">sửa</a>] [<a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:PageHistory/M%C3%B4_%C4%91un:String/t%C3%A0i_li%E1%BB%87u" title="Đặc biệt:PageHistory/Mô đun:String/tài liệu">lịch sử</a>] [<a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Purge/M%C3%B4_%C4%91un:String" title="Đặc biệt:Purge/Mô đun:String">làm mới</a>]</span></div> <table class="plainlinks ombox ombox-content" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Chú ý" src="//upload.wikimedia.org/wikipedia/commons/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/commons/thumb/b/b4/Ambox_important.svg/60px-Ambox_important.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/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>Mô đun Lua này được sử dụng trong thông báo hệ thống</b>, và ở <a class="external text" href="https://linkcount.toolforge.org/index.php?project=vi.wikipedia.org&page=M%C3%B4+%C4%91un%3AString">khoảng 331.000 trang, chiếm ≈ 2% tổng số trang</a>.<br />Thay đổi đến nó có thể dẫn đến thay đổi ngay lập tức giao diện người dùng Wikipedia.<br />Để tránh gây lỗi trên quy mô lớn và <a href="https://www.mediawiki.org/wiki/Manual:Job_queue" class="extiw" title="mw:Manual:Job queue">tải máy chủ</a> không cần thiết, tất cả thay đổi cần được thử nghiệm ở trang con <a href="/wiki/M%C3%B4_%C4%91un:String/sandbox" title="Mô đun:String/sandbox">/sandbox</a>, <a href="/wiki/M%C3%B4_%C4%91un:String/testcases" title="Mô đun:String/testcases">/testcases</a> của mô đun, hoặc ở <a href="/wiki/M%C3%B4_%C4%91un:Th%E1%BB%AD" title="Mô đun:Thử">chỗ thử mô đun</a>. Các thay đổi đã được thử nghiệm có thể thêm vào mô đun bằng một sửa đổi duy nhất. Xin hãy thảo luận các thay đổi tại <a href="/w/index.php?title=Th%E1%BA%A3o_lu%E1%BA%ADn_M%C3%B4_%C4%91un:String&action=edit&redlink=1" class="new" title="Thảo luận Mô đun:String (trang không tồn tại)">trang thảo luận</a> trước khi áp dụng sửa đổi.</td></tr></tbody></table> <table class="plainlinks ombox ombox-notice" role="presentation"><tbody><tr><td class="mbox-image"><span typeof="mw:File"><span><img alt="Protected" src="//upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/40px-Full-protection-shackle-block.svg.png" decoding="async" width="40" height="40" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/60px-Full-protection-shackle-block.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/12/Full-protection-shackle-block.svg/80px-Full-protection-shackle-block.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></td><td class="mbox-text">Mô-đun này là loại cần được khóa. Nó là một <a href="https://en.wikipedia.org/wiki/Wikipedia:High-risk_templates" class="extiw" title="en:Wikipedia:High-risk templates">mô-đun nhìn thấy rõ</a> được sử dụng bởi một số lượng lớn các trang, hoặc là các <a href="/wiki/Wikipedia:SUBST" class="mw-redirect" title="Wikipedia:SUBST">thay thế</a> rất thường xuyên. Bởi vì phá hoại hoặc lỗi sai khi sửa sẽ ảnh hưởng đến nhiều trang và thậm chí chỉnh sửa tầm thường có thể gây ra tải đáng kể cho các máy chủ, nó <a href="/wiki/Wikipedia:KHOA" class="mw-redirect" title="Wikipedia:KHOA">được khóa bảo vệ</a> hạn chế sửa đổi.</td></tr></tbody></table> <p><span class="plainlinks nourlexpansion lx"><a class="mw-selflink selflink">Mô đun:String</a> <span style="font-size:90%;">(<a class="external text" href="https://vi.wikipedia.org/w/index.php?title=M%C3%B4_%C4%91un:String&action=edit">sửa</a> | <a href="/w/index.php?title=Th%E1%BA%A3o_lu%E1%BA%ADn_M%C3%B4_%C4%91un:String&action=edit&redlink=1" class="new" title="Thảo luận Mô đun:String (trang không tồn tại)">thảo luận</a> | <a class="external text" href="https://vi.wikipedia.org/w/index.php?title=M%C3%B4_%C4%91un:String&action=history">lịch sử</a> | <a class="external text" href="https://vi.wikipedia.org/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t:Li%C3%AAn_k%E1%BA%BFt_%C4%91%E1%BA%BFn_%C4%91%C3%A2y/M%C3%B4_%C4%91un:String&limit=1000">liên kết</a> | <a class="external text" href="https://vi.wikipedia.org/w/index.php?title=M%C3%B4_%C4%91un:String&action=watch">theo dõi</a> | <a class="external text" href="https://vi.wikipedia.org/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t:Nh%E1%BA%ADt_tr%C3%ACnh&page=M%C3%B4+%C4%91un%3AString">nhật trình</a>)</span></span> </p><p>This module is intended to provide access to basic string functions. </p><p>Most of the functions provided here can be invoked with named parameters, unnamed parameters, or a mixture. If named parameters are used, Mediawiki will automatically remove any leading or trailing whitespace from the parameter. Depending on the intended use, it may be advantageous to either preserve or remove such whitespace. </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Global_options">Global options</h2></div> <dl><dt>ignore_errors</dt> <dd>If set to 'true' or 1, any error condition will result in an empty string being returned rather than an error message.</dd> <dt>error_category</dt> <dd>If an error occurs, specifies the name of a category to include with the error message. The default category is <a href="/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:Errors_reported_by_Module_String&action=edit&redlink=1" class="new" title="Thể loại:Errors reported by Module String (trang không tồn tại)">Thể loại:Errors reported by Module String</a> (1.226).</dd> <dt>no_category</dt> <dd>If set to 'true' or 1, no category will be added if an error is generated.</dd></dl> <p>Unit tests for this module are available at <a href="/wiki/M%C3%B4_%C4%91un:String/testcases" title="Mô đun:String/testcases">Module:String/testcases</a>. </p> <div class="mw-heading mw-heading2"><h2 id="len">len</h2></div> <p>This function returns the length of the target string. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|len|<i>target_string</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|len|s= <i>target_string</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>s</dt> <dd>The string whose length to report</dd></dl> <p>Examples: </p> <ul><li><code>{{#invoke:String|len| abcdefghi }}</code> → 11</li> <li><code>{{#invoke:String|len|s= abcdefghi }}</code> → 9</li></ul> <div class="mw-heading mw-heading2"><h2 id="sub">sub</h2></div> <p>This function returns a substring of the target string at specified inclusive, one-indexed indices. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|sub|<i>target_string</i>|<i>start_index</i>|<i>end_index</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|sub|s= <i>target_string</i> |i= <i>start_index</i> |j= <i>end_index</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>s</dt> <dd>The string to return a subset of</dd> <dt>i</dt> <dd>The first index of the substring to return, defaults to 1.</dd> <dt>j</dt> <dd>The last index of the string to return, defaults to the last character.</dd></dl> <p>The first character of the string is assigned an index of 1. If either i or j is a negative value, it is interpreted the same as selecting a character by counting from the end of the string. Hence, a value of -1 is the same as selecting the last character of the string. </p><p>If the requested indices are out of range for the given string, an error is reported. To avoid error messages, use {{#gọi:<a href="/wiki/M%C3%B4_%C4%91un:Ustring" title="Mô đun:Ustring">ustring</a>|sub}} instead. </p><p>Examples: </p> <ul><li><code>"{{#invoke:String|sub| abcdefghi }}"</code> → " abcdefghi "</li> <li><code>"{{#invoke:String|sub|s= abcdefghi }}"</code> → "abcdefghi"</li> <li><code>"{{#invoke:String|sub| abcdefghi | 3 }}"</code> → "bcdefghi "</li> <li><code>"{{#invoke:String|sub|s= abcdefghi |i= 3 }}"</code> → "cdefghi"</li> <li><code>"{{#invoke:String|sub| abcdefghi | 3 | 4 }}"</code> → "bc"</li> <li><code>"{{#invoke:String|sub|s= abcdefghi |i= 3 |j= 4 }}"</code> → "cd"</li></ul> <div class="mw-heading mw-heading2"><h2 id="sublength">sublength</h2></div> <p>This function implements the features of {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_sub_old" title="Bản mẫu:Str sub old">str sub old</a>}} and is kept in order to maintain these older templates. It returns a substring of the target string starting at a specified index and of a specified length. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|sublength|s= <i>target_string</i> |i= <i>start_index</i> |len= <i>length</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>s</dt> <dd>The string</dd> <dt>i</dt> <dd>The starting index of the substring to return. The first character of the string is assigned an index of 0.</dd> <dt>len</dt> <dd>The length of the string to return, defaults to the last character.</dd></dl> <p>Examples: </p> <ul><li><code>{{#invoke:String|sublength|s= abcdefghi }}</code> → abcdefghi</li> <li><code>{{#invoke:String|sublength|s= abcdefghi |i= 3 }}</code> → defghi</li> <li><code>{{#invoke:String|sublength|s= abcdefghi |i= 3 |len= 4 }}</code> → defg</li></ul> <div class="mw-heading mw-heading2"><h2 id="match">match</h2></div> <p>This function returns a substring from the source string that matches a specified pattern. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|match|<i>source_string</i>|<i>pattern_string</i>|<i>start_index</i>|<i>match_number</i>|<i>plain_flag</i>|<i>nomatch_output</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|match|s= <i>source_string</i> |pattern= <i>pattern_string</i> |start= <i>start_index</i> |match= <i>match_number</i> |plain= <i>plain_flag</i> |nomatch= <i>nomatch_output</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>s</dt> <dd>The string to search</dd> <dt>pattern</dt> <dd>The pattern or string to find within the string</dd> <dt>start</dt> <dd>The index within the source string to start the search. The first character of the string has index 1. Defaults to 1.</dd> <dt>match</dt> <dd>In some cases it may be possible to make multiple matches on a single string. This specifies which match to return, where the first match is match= 1. If a negative number is specified then a match is returned counting from the last match. Hence match = -1 is the same as requesting the last match. Defaults to 1.</dd> <dt>plain</dt> <dd>Boolean flag indicating that pattern should be understood as plain text and not as a <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">Scribunto ustring pattern</a> (a unicode-friendly <a href="https://en.wikipedia.org/wiki/en:Lua_(programming_language)" class="extiw" title="w:en:Lua (programming language)">Lua</a>-style <a href="https://en.wikipedia.org/wiki/en:regular_expression" class="extiw" title="w:en:regular expression">regular expression</a>). Defaults to false (to change: <code>plain=true</code>)</dd> <dt>nomatch</dt> <dd>If no match is found, output the "nomatch" value rather than an error.</dd> <dt>ignore_errors</dt> <dd>If no match is found and ignore_errors=true, output an empty string rather than an error.</dd></dl> <p>If the match_number or start_index are out of range for the string being queried, then this function generates an error. An error is also generated if no match is found. If one adds the parameter ignore_errors=true, then the error will be suppressed and an empty string will be returned on any failure. </p><p>For information on constructing <a href="https://en.wikipedia.org/wiki/en:Lua_(programming_language)" class="extiw" title="w:en:Lua (programming language)">Lua</a> patterns, a form of <a href="https://en.wikipedia.org/wiki/en:regular_expression" class="extiw" title="w:en:regular expression">regular expression</a>, see: </p> <ul><li><a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">Scribunto patterns</a></li> <li><a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">Scribunto Unicode string patterns</a></li></ul> <p>Examples: </p> <ul><li><code>{{#invoke:String|match| abc123def456 |%d+}}</code> → 123</li> <li><code>{{#invoke:String|match|s= abc123def456 |pattern= %d+ }}</code> → 123</li> <li><code>{{#invoke:String|match| abc123def456 |%d+|6}}</code> → 23</li> <li><code>{{#invoke:String|match|s= abc123def456 |pattern= %d+ |start= 6 }}</code> → 3</li> <li><code>{{#invoke:String|match|s= abc123def456 |pattern= %d+ |start= 6 |match= 2 }}</code> → 456</li> <li><code>{{#invoke:String|match|s= abc123%d+ |pattern= %d+ }}</code> → 123</li> <li><code>{{#invoke:String|match|s= abc123%d+ |pattern= %d+ |plain= true }}</code> → %d+</li> <li><code>{{#invoke:String|match|s= abc |pattern= %d }}</code> → <strong class="error">String Module Error: Match not found</strong></li> <li><code>{{#invoke:String|match|s= abc |pattern= %d |nomatch= No numeric characters in string }}</code> → No numeric characters in string</li> <li><code>{{#invoke:String|match|s= abc |pattern= %d |ignore_errors= true }}</code> →</li> <li><code>{{#invoke:String|match|s= 0012001200 |pattern= 0*(%d*) }}</code> → 12001200</li></ul> <div class="mw-heading mw-heading2"><h2 id="pos">pos</h2></div> <p>This function returns a single character from the target string at position pos. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|pos|<i>target_string</i>|<i>index_value</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|pos|target= <i>target_string</i> |pos= <i>index_value</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>target</dt> <dd>The string to search</dd> <dt>pos</dt> <dd>The index for the character to return</dd></dl> <p>The first character has an index value of 1. </p><p>If one requests a negative value, this function will select a character by counting backwards from the end of the string. In other words pos = -1 is the same as asking for the last character. </p><p>A requested value of zero, or a value greater than the length of the string returns an error. </p><p>Examples: </p> <ul><li><code>{{#invoke:String|pos| abcdefghi | 4 }}</code> → c</li> <li><code>{{#invoke:String|pos|target= abcdefghi |pos= 4 }}</code> → d</li></ul> <div class="mw-heading mw-heading2"><h2 id="str_find">str_find</h2></div> <p>This function duplicates the behavior of {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_find" title="Bản mẫu:Str find">str_find</a>}}, including all of its quirks. This is provided in order to support existing templates, but is NOT RECOMMENDED for new code and templates. New code is recommended to use the "find" function instead. </p><p>Returns the first index in "source" that is a match to "target". Indexing is 1-based, and the function returns -1 if the "target" string is not present in "source". </p><p>Important Note: If the "target" string is empty / missing, this function returns a value of "1", which is generally unexpected behavior, and must be accounted for separately. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|str_find|<i>source_string</i>|<i>target_string</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|str_find|source= <i>source_string</i> |target= <i>target_string</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>source</dt> <dd>The string to search</dd> <dt>target</dt> <dd>The string to find within source</dd></dl> <p>Examples: </p> <ul><li><code>{{#invoke:String|str_find| abc123def }}</code> → 1</li> <li><code>{{#invoke:String|str_find|source= abc123def }}</code> → 1</li> <li><code>{{#invoke:String|str_find| abc123def |123}}</code> → 5</li> <li><code>{{#invoke:String|str_find|source= abc123def |target= 123 }}</code> → 4</li> <li><code>{{#invoke:String|str_find| abc123def |not}}</code> → -1</li></ul> <div class="mw-heading mw-heading2"><h2 id="find">find</h2></div> <p>This function allows one to search for a target string or pattern within another string. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|find|<i>source_string</i>|<i>target_string</i>|<i>start_index</i>|<i>plain_flag</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|find|source= <i>source_string</i> |target= <i>target_string</i> |start= <i>start_index</i> |plain= <i>plain_flag</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>source</dt> <dd>The string to search</dd> <dt>target</dt> <dd>The string or pattern to find within source</dd> <dt>start</dt> <dd>The index within the source string to start the search, defaults to 1</dd> <dt>plain</dt> <dd>Boolean flag indicating that target should be understood as plain text and not as a <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">Scribunto ustring pattern</a> (a unicode-friendly <a href="https://en.wikipedia.org/wiki/en:Lua_(programming_language)" class="extiw" title="w:en:Lua (programming language)">Lua</a>-style <a href="https://en.wikipedia.org/wiki/en:regular_expression" class="extiw" title="w:en:regular expression">regular expression</a>); defaults to true</dd></dl> <p>This function returns the first index >= "start" where "target" can be found within "source". Indices are 1-based. If "target" is not found, then this function returns 0. If either "source" or "target" are missing / empty, this function also returns 0. </p><p>This function should be safe for UTF-8 strings. </p><p>Examples: </p> <ul><li><code>{{#invoke:String|find|abc123def|12}}</code> → 4</li></ul> <ul><li><code>{{#invoke:String|find|source=abc123def|target=12}}</code> → 4</li></ul> <ul><li><code>{{#invoke:String|find|source=abc123def|target=pqr}}</code> → 0</li></ul> <ul><li><code>{{#invoke:String|find| abc123def |123}}</code> → 5</li> <li><code>{{#invoke:String|find|source= abc123def |target= 123 }}</code> → 4</li> <li><code>{{#invoke:String|find|source=abc123def|target=%d |start=3 |plain=false }}</code> → 4</li></ul> <p>When using unnamed parameters, preceding and trailing spaces are kept and counted: </p> <ul><li><code>{{#invoke:String|find| abc123def |c|false}}</code> → 5</li> <li><code>{{#invoke:String|find|source= abc123def |target=c|plain=false}}</code> → 3</li> <li><code>{{#invoke:string|find|abc 123 def|%s|plain=false}}</code> → 4</li></ul> <div class="mw-heading mw-heading2"><h2 id="replace_(gsub)"><span id="replace_.28gsub.29"></span>replace (gsub)</h2></div> <p>This function allows one to replace a target string or pattern within another string. To Lua programmers: this function works internally by calling <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">string.gsub</code>. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|replace|<i>source_str</i>|<i>pattern_string</i>|<i>replace_string</i>|<i>replacement_count</i>|<i>plain_flag</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|replace|source= <i>source_string</i> |pattern= <i>pattern_string</i> |replace= <i>replace_string</i> |count= <i>replacement_count</i> |plain= <i>plain_flag</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>source</dt> <dd>The string to search</dd> <dt>pattern</dt> <dd>The string or pattern to find within source</dd> <dt>replace</dt> <dd>The replacement text</dd> <dt>count</dt> <dd>The number of occurrences to replace; defaults to all</dd> <dt>plain</dt> <dd>Boolean flag indicating that pattern should be understood as plain text and not as a <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">Scribunto ustring pattern</a> (a unicode-friendly <a href="https://en.wikipedia.org/wiki/en:Lua_(programming_language)" class="extiw" title="w:en:Lua (programming language)">Lua</a>-style <a href="https://en.wikipedia.org/wiki/en:regular_expression" class="extiw" title="w:en:regular expression">regular expression</a>); defaults to true</dd></dl> <p>Examples: </p> <ul><li><code>"{{#invoke:String|replace| abc123def456 |123|N}}"</code> → " abcNdef456 "</li> <li><code>"{{#invoke:String|replace|source= abc123def456 |pattern= 123 |replace= N }}"</code> → "abcNdef456"</li> <li><code>"{{#invoke:String|replace| abc123def456 |%d+|N|1|false}}"</code> → " abcNdef456 "</li> <li><code>"{{#invoke:String|replace|source= abc123def456 |pattern= %d+ |replace= N |count=1 |plain= false }}"</code> → "abcNdef456"</li> <li><code>"{{#invoke:String|replace|source= abc123def456 |pattern= %d+ |replace= N |plain= false }}"</code> → "abcNdefN"</li> <li><code>{{#invoke:String|replace|source= 0012001200 |pattern= ^0* |plain= false }}</code> → 12001200</li></ul> <div class="mw-heading mw-heading2"><h2 id="rep">rep</h2></div> <p>Repeats a string <i>n</i> times. A simple function to pipe string.rep to templates. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|rep|<i>source</i>|<i>count</i>}}</code></dd></dl> <p>Parameters: </p> <dl><dt>source</dt> <dd>The string to repeat</dd> <dt>count</dt> <dd>The number of repetitions.</dd></dl> <p>Examples: </p> <ul><li><code>"{{#invoke:String|rep|hello|3}}"</code> → "hellohellohello"</li> <li><code>"{{#invoke:String|rep| hello | 3 }}"</code> → " hello hello hello "</li></ul> <div class="mw-heading mw-heading2"><h2 id="escapePattern">escapePattern</h2></div> <p>In a <a href="https://www.mediawiki.org/wiki/LUAREF#Patterns" class="extiw" title="mw:LUAREF">Lua pattern</a>, changes a <i>class character</i> into a <i>literal character</i>. For example: in a pattern, character <code>.</code> catches "any character"; escapePattern will convert it to <code>%.</code>, catching just the literal character ".". </p><p>Usage: </p> <ul><li><code>{{#invoke:String|escapePattern|<i>pattern_string</i>}}</code></li></ul> <p>Parameters: </p> <dl><dt>pattern_string</dt> <dd>The pattern string to escape</dd></dl> <p>Examples: </p> <ul><li><code>"{{#invoke:String|escapePattern|A.D.}}"</code> → "A%.D%."</li> <li><code>"{{#invoke:String|escapePattern|10%}}"</code> → "10%%"</li></ul> <div class="mw-heading mw-heading2"><h2 id="count">count</h2></div> <p>Counts the number of times a given pattern appears in the arguments that get passed on to this module. </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|count|<i>source_str</i>|<i>pattern_string</i>|<i>plain_flag</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|count|source= <i>source_string</i> |pattern= <i>pattern_string</i>|plain= <i>plain_flag</i> }}</code></dd></dl> <p>Parameters: </p> <dl><dt>source_string</dt> <dd>The string to count occurrences in</dd> <dt>pattern</dt> <dd>The string or pattern to count occurrences of within source</dd> <dt>plain</dt> <dd>Boolean flag indicating that pattern should be understood as plain text and not as a <a href="https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns" class="extiw" title="mw:Extension:Scribunto/Lua reference manual">Scribunto ustring pattern</a> (a unicode-friendly <a href="https://en.wikipedia.org/wiki/en:Lua_(programming_language)" class="extiw" title="w:en:Lua (programming language)">Lua</a>-style <a href="https://en.wikipedia.org/wiki/en:regular_expression" class="extiw" title="w:en:regular expression">regular expression</a>); defaults to true</dd></dl> <p>Examples: </p> <ul><li>Count of 'a': <code>"{{#invoke:String|count|aabbcc|a}}"</code> → "2"</li> <li>Count of "either 'a' or 'c' ":<code>"{{#invoke:String|count|aabbcc|[ac]|plain=false}}"</code> → "4"</li> <li>Count of "not 'a' ": <code>"{{#invoke:String|count|aaabaaac|[^a]|plain=false}}"</code> → "2"</li> <li>Count of "starts with 'a' ": <code>"{{#invoke:String|count|aaabaaac|^a|plain=false}}"</code> → "1"</li></ul> <div class="mw-heading mw-heading2"><h2 id="join">join</h2></div> <p>Joins all strings passed as arguments into one string, treating the first argument as a separator </p><p>Usage: </p> <dl><dd><code>{{#invoke:String|join|<i>separator</i>|<i>string1</i>|<i>string2</i>|...}}</code></dd></dl> <p>Parameters: </p> <dl><dt>separator</dt> <dd>String that separates each string being joined together</dd> <dd>Note that leading and trailing spaces are <i>not</i> stripped from the separator.</dd> <dt>string1/string2/...</dt> <dd>Strings being joined together</dd></dl> <p>Examples: </p> <ul><li><code>"{{#invoke:String|join|x|foo|bar|baz}}"</code> → "fooxbarxbaz"</li> <li><code>"{{#invoke:String|join||a|b|c|d|e|f|g}}"</code> → "abcdefg"</li> <li><code>"{{#invoke:String|join|,|a|b|c|d|e|f|g}}"</code> → "a,b,c,d,e,f,g"</li> <li><code>"{{#invoke:String|join|, |a|b|c|d|e|f|g}}"</code> → "a, b, c, d, e, f, g"</li> <li><code>"{{#invoke:String|join| – |a|b|c|d|e|f|g}}"</code> → "a – b – c – d – e – f – g"</li></ul> <p>The preceding example uses the html entity &ndash; but the unicode character also works. </p> <div class="mw-heading mw-heading2"><h2 id="endswith">endswith</h2></div> <p>Usage: </p> <dl><dd><code>{{#invoke:String|endswith|<i>source_str</i>|<i>search_string</i>}}</code></dd></dl> <p>OR </p> <dl><dd><code>{{#invoke:String|endswith|source= <i>source_string</i> |pattern= <i>search_string</i>}}</code></dd></dl> <p>Returns "yes" if the source string ends with the search string. Use named parameters to have the strings trimmed before use. Despite the parameter name, <i>search_string</i> is not a Lua pattern, it is interpreted literally. </p> <ul><li><code>"{{#invoke:String|endswith|xxxyyy|y}}"</code> → "yes"</li> <li><code>"{{#invoke:String|endswith|xxxyyy|z}}"</code> → ""</li></ul> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r70958518">.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:r70981351">.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:r71573313">.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="Bản_mẫu_xử_lý_chuỗi_kí_tự_(trợ_giúp)" 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"><div class="plainlinks hlist navbar mini"><ul><li class="nv-xem"><a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:B%E1%BA%A3n_m%E1%BA%ABu_x%E1%BB%AD_l%C3%BD_chu%E1%BB%97i_k%C3%AD_t%E1%BB%B1" title="Bản mẫu:Bản mẫu xử lý chuỗi kí tự"><abbr title="Xem bản mẫu này">x</abbr></a></li><li class="nv-thảo luận"><a href="/w/index.php?title=Th%E1%BA%A3o_lu%E1%BA%ADn_B%E1%BA%A3n_m%E1%BA%ABu:B%E1%BA%A3n_m%E1%BA%ABu_x%E1%BB%AD_l%C3%BD_chu%E1%BB%97i_k%C3%AD_t%E1%BB%B1&action=edit&redlink=1" class="new" title="Thảo luận Bản mẫu:Bản mẫu xử lý chuỗi kí tự (trang không tồn tại)"><abbr title="Thảo luận bản mẫu này">t</abbr></a></li><li class="nv-sửa"><a class="external text" href="https://vi.wikipedia.org/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:B%E1%BA%A3n_m%E1%BA%ABu_x%E1%BB%AD_l%C3%BD_chu%E1%BB%97i_k%C3%AD_t%E1%BB%B1&action=edit"><abbr title="Sửa bản mẫu này">s</abbr></a></li></ul></div><div id="Bản_mẫu_xử_lý_chuỗi_kí_tự_(trợ_giúp)" style="font-size:114%;margin:0 4em">Bản mẫu xử lý chuỗi kí tự <a href="https://en.wikipedia.org/wiki/Help:Manipulating_strings" class="extiw" title="en:Help:Manipulating strings">(trợ giúp)</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="Chuỗi_con_(chọn_một_đoạn_các_kí_tự_theo_vị_trí_của_nó_trong_chuỗi)" style="font-size:114%;margin:0 4em">Chuỗi con (chọn một đoạn các kí tự theo vị trí của nó trong chuỗi)</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_sub_new" title="Bản mẫu:Str sub new">str sub new</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_left" title="Bản mẫu:Str left">str left</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_crop" title="Bản mẫu:Str crop">str crop</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_index" title="Bản mẫu:Str index">str index</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_right" title="Bản mẫu:Str right">str right</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_rightc" title="Bản mẫu:Str rightc">str rightc</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_sub_old" title="Bản mẫu:Str sub old">str sub old</a>}}</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="Cắt_gọt_(chọn/xóa_một_đoạn_trong_chuỗi_theo_kiểu_kí_tự)" style="font-size:114%;margin:0 4em">Cắt gọt (chọn/xóa một đoạn trong chuỗi theo kiểu kí tự)</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Trim" title="Bản mẫu:Trim">trim</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_letter/trim" title="Bản mẫu:Str letter/trim">str letter/trim</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_number/trim" title="Bản mẫu:Str number/trim">str number/trim</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Trim_brackets" title="Bản mẫu:Trim brackets">trim brackets</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Trim_quotes" title="Bản mẫu:Trim quotes">trim quotes</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Trim_leading" title="Bản mẫu:Trim leading">trim leading</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:String_split" title="Bản mẫu:String split">string split</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:First_word" title="Bản mẫu:First word">first word</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Remove_first_word" title="Bản mẫu:Remove first word">remove first word</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Last_word" title="Bản mẫu:Last word">last word</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Remove_last_word" title="Bản mẫu:Remove last word">remove last word</a>}}</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="Chọn/xóa_một_mục_cụ_thể_trong_chuỗi" style="font-size:114%;margin:0 4em">Chọn/xóa một mục cụ thể trong chuỗi</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Delink" title="Bản mẫu:Delink">delink</a>}}, {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Trim_brackets" title="Bản mẫu:Trim brackets">trim brackets</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:PAGENAMEBASE" title="Bản mẫu:PAGENAMEBASE">PAGENAMEBASE</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Title_disambig_text" title="Bản mẫu:Title disambig text">title disambig text</a>}}</td><td> Returns text in parentheses 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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:WikiProjectbasename" title="Bản mẫu:WikiProjectbasename">WikiProjectbasename</a>}}</td><td> Removes "WikiProject" from a pagename.</td></tr></tbody></table></td><td> <table><tbody><tr style="vertical-align:top"><td style="width:12em;text-align:right;padding-right:0.75em;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Ship_prefix" title="Bản mẫu:Ship prefix">ship prefix</a>}}</td><td> Returns the length of a ship's name prefix, if listed (ship names).</td></tr><tr style="vertical-align:top"><td style="width:12em;text-align:right;padding-right:0.75em;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Title_year" title="Bản mẫu:Title year">title year</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Title_decade" title="Bản mẫu:Title decade">title decade</a>}}</td><td> Returns the 4-digit decade (e.g. "1740s") from a pagename, if any.</td></tr><tr style="vertical-align:top"><td style="width:12em;text-align:right;padding-right:0.75em;"> {{<a href="/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:Title_number&action=edit&redlink=1" class="new" title="Bản mẫu:Title number (trang không tồn tại)">title number</a>}}</td><td> Returns any number 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="Chèn,_thay_thế_và_độ_dài" style="font-size:114%;margin:0 4em">Chèn, thay thế và độ dài</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Loop" class="mw-redirect" title="Bản mẫu:Loop">loop</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Replace" class="mw-redirect" title="Bản mẫu:Replace">replace</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_rep" title="Bản mẫu:Str rep">str rep</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Digits" title="Bản mẫu:Digits">digits</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Nowiki" title="Bản mẫu:Nowiki">Nowiki</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_len" title="Bản mẫu:Str len">str len</a>}}</td><td> Returns a string's length.</td></tr><tr style="vertical-align:top"><td style="text-align:right;padding-right:0.75em;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_%E2%89%A5_len" title="Bản mẫu:Str ≥ len">str ≥ len</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_%E2%89%A4_len" title="Bản mẫu:Str ≤ len">str ≤ len</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_%E2%89%A0_len" title="Bản mẫu:Str ≠ len">str ≠ len</a>}}</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="Phân_tích_và_tìm_kiếm" style="font-size:114%;margin:0 4em">Phân tích và tìm kiếm</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;"> {{<a href="/w/index.php?title=B%E1%BA%A3n_m%E1%BA%ABu:Str_startswith&action=edit&redlink=1" class="new" title="Bản mẫu:Str startswith (trang không tồn tại)">str startswith</a>}}<br />{{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_endswith" title="Bản mẫu:Str endswith">str endswith</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_find" title="Bản mẫu:Str find">str find</a>}}, {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Strfind_short" title="Bản mẫu:Strfind short">strfind short</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:In_string" title="Bản mẫu:In string">in string</a>}}</td><td> Returns optional string when given string is not found</td></tr></tbody></table></td><td> <table><tbody><tr style="vertical-align:top"><td style="text-align:right;padding-right:0.75em;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:A_or_an" title="Bản mẫu:A or an">a or an</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Isnumeric" title="Bản mẫu:Isnumeric">Isnumeric</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_letter" title="Bản mẫu:Str letter">str letter</a>}}</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;"> {{<a href="/wiki/B%E1%BA%A3n_m%E1%BA%ABu:Str_number" title="Bản mẫu:Str number">str number</a>}}</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="Các_hàm_sẵn_có_và_các_mô_đun" style="font-size:114%;margin:0 4em">Các hàm sẵn có và các mô đun</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 class="mw-selflink selflink">Mô đun:String</a>, <a href="/wiki/M%C3%B4_%C4%91un:String2" title="Mô đun:String2">Mô đun:String2</a>, <a href="/wiki/M%C3%B4_%C4%91un:Ustring" title="Mô đun:Ustring">Mô đun:Ustring</a>, <a href="/wiki/M%C3%B4_%C4%91un:Text" title="Mô đun:Text">Mô đun:Text</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">Từ khóa</a>: Giải thích <code>{{padleft:|}}</code>, <code>{{lc:|}}</code>, <code>{{formatnum:|}}</code> v.v…</li> <li><a href="https://www.mediawiki.org/wiki/Help:Extension:ParserFunctions" class="extiw" title="mw:Help:Extension:ParserFunctions">ParserFunctions</a>: Giải thích <code>{{#titleparts:|}}, {{#expr:|}}, {{#ifeq:|}}, </code> v.v…</li></ul> </div></div></td></tr></tbody></table><div></div></td></tr><tr><td class="navbox-abovebelow hlist" colspan="2"><div> <ul><li><a href="/wiki/Th%E1%BB%83_lo%E1%BA%A1i:B%E1%BA%A3n_m%E1%BA%ABu_thao_t%C3%A1c_chu%E1%BB%97i" title="Thể loại:Bản mẫu thao tác chuỗi">Thể loại:Bản mẫu thao tác chuỗi</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://meta.wikimedia.org/wiki/Category:String_manipulation_templates" class="extiw" title="m:Category:String manipulation templates">Meta-Wiki</a></li></ul></li></ul> </div></td></tr></tbody></table></div> <div class="documentation-clear"></div> </div> <div role="note" class="documentation-metadata plainlinks"><a href="/wiki/Wikipedia:T%C3%A0i_li%E1%BB%87u_b%E1%BA%A3n_m%E1%BA%ABu" title="Wikipedia:Tài liệu bản mẫu">Tài liệu</a> bên trên <a href="https://en.wikipedia.org/wiki/Wikipedia:Transclusion" class="extiw" title="en:Wikipedia:Transclusion">được truyền tải</a> từ <a href="/wiki/M%C3%B4_%C4%91un:String/t%C3%A0i_li%E1%BB%87u" title="Mô đun:String/tài liệu">Mô đun:String/tài liệu</a>. <span class="documentation-toolbar">(<a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:EditPage/M%C3%B4_%C4%91un:String/t%C3%A0i_li%E1%BB%87u" title="Đặc biệt:EditPage/Mô đun:String/tài liệu">sửa</a> | <a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:PageHistory/M%C3%B4_%C4%91un:String/t%C3%A0i_li%E1%BB%87u" title="Đặc biệt:PageHistory/Mô đun:String/tài liệu">lịch sử</a>)</span><br />Biên tập viên sửa đổi có thể thử nghiệm trong các trang <a href="/wiki/M%C3%B4_%C4%91un:String/sandbox" title="Mô đun:String/sandbox">chỗ thử</a> <span class="documentation-toolbar">(<a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:EditPage/M%C3%B4_%C4%91un:String/sandbox" title="Đặc biệt:EditPage/Mô đun:String/sandbox">sửa</a> | <a class="external text" href="https://vi.wikipedia.org/w/index.php?title=%C4%90%E1%BA%B7c_bi%E1%BB%87t%3ASo_s%C3%A1nh_trang&page1=M%C3%B4+%C4%91un%3AString&page2=M%C3%B4+%C4%91un%3AString%2Fsandbox">khác</a>)</span> và <a href="/wiki/M%C3%B4_%C4%91un:String/testcases" title="Mô đun:String/testcases">trường hợp kiểm thử</a> <span class="documentation-toolbar">(<a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:EditPage/M%C3%B4_%C4%91un:String/testcases" title="Đặc biệt:EditPage/Mô đun:String/testcases">sửa</a> | <a href="/wiki/Th%E1%BA%A3o_lu%E1%BA%ADn_M%C3%B4_%C4%91un:String/testcases" title="Thảo luận Mô đun:String/testcases">chạy</a>)</span> của mô đun này.<br /> <a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Ti%E1%BB%81n_t%E1%BB%91/M%C3%B4_%C4%91un:String/" title="Đặc biệt:Tiền tố/Mô đun:String/">Các trang con của mô đun này</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="cm">--[=[ </span> </span><span id="L-2"><a href="#L-2"><span class="linenos" data-line="2"></span></a> </span><span id="L-3"><a href="#L-3"><span class="linenos" data-line="3"></span></a><span class="cm">Mô đun này nhằm cung cấp các hàm chuỗi cơ bản.</span> </span><span id="L-4"><a href="#L-4"><span class="linenos" data-line="4"></span></a> </span><span id="L-5"><a href="#L-5"><span class="linenos" data-line="5"></span></a><span class="cm">Phần nhiều hàm này cho phép gọi với các tham số có tên, các tham số không có</span> </span><span id="L-6"><a href="#L-6"><span class="linenos" data-line="6"></span></a><span class="cm">tên, hoặc pha trộn cả hai kiểu. Nếu sử dụng các tham số có tên, MediaWiki tự</span> </span><span id="L-7"><a href="#L-7"><span class="linenos" data-line="7"></span></a><span class="cm">động bỏ qua khoảng cách đằng truớc và đằng sau tham số. Tùy cách sử dụng, bạn có</span> </span><span id="L-8"><a href="#L-8"><span class="linenos" data-line="8"></span></a><span class="cm">thể cần giữ hoặc bỏ qua khoảng cách này.</span> </span><span id="L-9"><a href="#L-9"><span class="linenos" data-line="9"></span></a> </span><span id="L-10"><a href="#L-10"><span class="linenos" data-line="10"></span></a><span class="cm">Các tùy chọn toàn cục:</span> </span><span id="L-11"><a href="#L-11"><span class="linenos" data-line="11"></span></a><span class="cm"> ignore_errors: Nếu là 'true' hoặc 1, bất cứ trạng thái lỗi nào sẽ cho ra</span> </span><span id="L-12"><a href="#L-12"><span class="linenos" data-line="12"></span></a><span class="cm"> chuỗi rỗng thay vì thông báo lỗi.</span> </span><span id="L-13"><a href="#L-13"><span class="linenos" data-line="13"></span></a><span class="cm"> </span> </span><span id="L-14"><a href="#L-14"><span class="linenos" data-line="14"></span></a><span class="cm"> error_category: Nếu xuất hiện lỗi, trang được tự động xếp vào thể loại này</span> </span><span id="L-15"><a href="#L-15"><span class="linenos" data-line="15"></span></a><span class="cm"> và thông báo lỗi sẽ được hiển thị. Thể loại mặc định là</span> </span><span id="L-16"><a href="#L-16"><span class="linenos" data-line="16"></span></a><span class="cm"> [[Thể loại:Trang gây lỗi trong mô đun String]].</span> </span><span id="L-17"><a href="#L-17"><span class="linenos" data-line="17"></span></a><span class="cm"> </span> </span><span id="L-18"><a href="#L-18"><span class="linenos" data-line="18"></span></a><span class="cm"> no_category: Nếu là 'true' hoặc 1, trang không được tự động xếp vào thể loại</span> </span><span id="L-19"><a href="#L-19"><span class="linenos" data-line="19"></span></a><span class="cm"> khi xuất hiện lỗi.</span> </span><span id="L-20"><a href="#L-20"><span class="linenos" data-line="20"></span></a> </span><span id="L-21"><a href="#L-21"><span class="linenos" data-line="21"></span></a><span class="cm">Các trường hợp kiểm thử đơn vị cho mô đun này có sẵn tại [[Module:String/tests]].</span> </span><span id="L-22"><a href="#L-22"><span class="linenos" data-line="22"></span></a><span class="cm">]=]</span> </span><span id="L-23"><a href="#L-23"><span class="linenos" data-line="23"></span></a> </span><span id="L-24"><a href="#L-24"><span class="linenos" data-line="24"></span></a><span class="cm">--[[</span> </span><span id="L-25"><a href="#L-25"><span class="linenos" data-line="25"></span></a> </span><span id="L-26"><a href="#L-26"><span class="linenos" data-line="26"></span></a><span class="cm">This module is intended to provide access to basic string functions.</span> </span><span id="L-27"><a href="#L-27"><span class="linenos" data-line="27"></span></a> </span><span id="L-28"><a href="#L-28"><span class="linenos" data-line="28"></span></a><span class="cm">Most of the functions provided here can be invoked with named parameters,</span> </span><span id="L-29"><a href="#L-29"><span class="linenos" data-line="29"></span></a><span class="cm">unnamed parameters, or a mixture. If named parameters are used, Mediawiki will</span> </span><span id="L-30"><a href="#L-30"><span class="linenos" data-line="30"></span></a><span class="cm">automatically remove any leading or trailing whitespace from the parameter.</span> </span><span id="L-31"><a href="#L-31"><span class="linenos" data-line="31"></span></a><span class="cm">Depending on the intended use, it may be advantageous to either preserve or</span> </span><span id="L-32"><a href="#L-32"><span class="linenos" data-line="32"></span></a><span class="cm">remove such whitespace.</span> </span><span id="L-33"><a href="#L-33"><span class="linenos" data-line="33"></span></a> </span><span id="L-34"><a href="#L-34"><span class="linenos" data-line="34"></span></a><span class="cm">Global options</span> </span><span id="L-35"><a href="#L-35"><span class="linenos" data-line="35"></span></a><span class="cm"> ignore_errors: If set to 'true' or 1, any error condition will result in</span> </span><span id="L-36"><a href="#L-36"><span class="linenos" data-line="36"></span></a><span class="cm"> an empty string being returned rather than an error message.</span> </span><span id="L-37"><a href="#L-37"><span class="linenos" data-line="37"></span></a> </span><span id="L-38"><a href="#L-38"><span class="linenos" data-line="38"></span></a><span class="cm"> error_category: If an error occurs, specifies the name of a category to</span> </span><span id="L-39"><a href="#L-39"><span class="linenos" data-line="39"></span></a><span class="cm"> include with the error message. The default category is</span> </span><span id="L-40"><a href="#L-40"><span class="linenos" data-line="40"></span></a><span class="cm"> [Category:Errors reported by Module String].</span> </span><span id="L-41"><a href="#L-41"><span class="linenos" data-line="41"></span></a> </span><span id="L-42"><a href="#L-42"><span class="linenos" data-line="42"></span></a><span class="cm"> no_category: If set to 'true' or 1, no category will be added if an error</span> </span><span id="L-43"><a href="#L-43"><span class="linenos" data-line="43"></span></a><span class="cm"> is generated.</span> </span><span id="L-44"><a href="#L-44"><span class="linenos" data-line="44"></span></a> </span><span id="L-45"><a href="#L-45"><span class="linenos" data-line="45"></span></a><span class="cm">Unit tests for this module are available at Module:String/tests.</span> </span><span id="L-46"><a href="#L-46"><span class="linenos" data-line="46"></span></a><span class="cm">]]</span> </span><span id="L-47"><a href="#L-47"><span class="linenos" data-line="47"></span></a> </span><span id="L-48"><a href="#L-48"><span class="linenos" data-line="48"></span></a><span class="kd">local</span> <span class="n">str</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-49"><a href="#L-49"><span class="linenos" data-line="49"></span></a> </span><span id="L-50"><a href="#L-50"><span class="linenos" data-line="50"></span></a><span class="cm">--[[</span> </span><span id="L-51"><a href="#L-51"><span class="linenos" data-line="51"></span></a><span class="cm">len</span> </span><span id="L-52"><a href="#L-52"><span class="linenos" data-line="52"></span></a> </span><span id="L-53"><a href="#L-53"><span class="linenos" data-line="53"></span></a><span class="cm">This function returns the length of the target string.</span> </span><span id="L-54"><a href="#L-54"><span class="linenos" data-line="54"></span></a> </span><span id="L-55"><a href="#L-55"><span class="linenos" data-line="55"></span></a><span class="cm">Usage:</span> </span><span id="L-56"><a href="#L-56"><span class="linenos" data-line="56"></span></a><span class="cm">{{#invoke:String|len|target_string|}}</span> </span><span id="L-57"><a href="#L-57"><span class="linenos" data-line="57"></span></a><span class="cm">OR</span> </span><span id="L-58"><a href="#L-58"><span class="linenos" data-line="58"></span></a><span class="cm">{{#invoke:String|len|s=target_string}}</span> </span><span id="L-59"><a href="#L-59"><span class="linenos" data-line="59"></span></a> </span><span id="L-60"><a href="#L-60"><span class="linenos" data-line="60"></span></a><span class="cm">Parameters</span> </span><span id="L-61"><a href="#L-61"><span class="linenos" data-line="61"></span></a><span class="cm"> s: The string whose length to report</span> </span><span id="L-62"><a href="#L-62"><span class="linenos" data-line="62"></span></a> </span><span id="L-63"><a href="#L-63"><span class="linenos" data-line="63"></span></a><span class="cm">If invoked using named parameters, Mediawiki will automatically remove any leading or</span> </span><span id="L-64"><a href="#L-64"><span class="linenos" data-line="64"></span></a><span class="cm">trailing whitespace from the target string.</span> </span><span id="L-65"><a href="#L-65"><span class="linenos" data-line="65"></span></a><span class="cm">]]</span> </span><span id="L-66"><a href="#L-66"><span class="linenos" data-line="66"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">len</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-67"><a href="#L-67"><span class="linenos" data-line="67"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'s'</span><span class="p">}</span> <span class="p">)</span> </span><span id="L-68"><a href="#L-68"><span class="linenos" data-line="68"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'s'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-69"><a href="#L-69"><span class="linenos" data-line="69"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">len</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-70"><a href="#L-70"><span class="linenos" data-line="70"></span></a><span class="kr">end</span> </span><span id="L-71"><a href="#L-71"><span class="linenos" data-line="71"></span></a> </span><span id="L-72"><a href="#L-72"><span class="linenos" data-line="72"></span></a><span class="cm">--[[</span> </span><span id="L-73"><a href="#L-73"><span class="linenos" data-line="73"></span></a><span class="cm">sub</span> </span><span id="L-74"><a href="#L-74"><span class="linenos" data-line="74"></span></a> </span><span id="L-75"><a href="#L-75"><span class="linenos" data-line="75"></span></a><span class="cm">This function returns a substring of the target string at specified indices.</span> </span><span id="L-76"><a href="#L-76"><span class="linenos" data-line="76"></span></a> </span><span id="L-77"><a href="#L-77"><span class="linenos" data-line="77"></span></a><span class="cm">Usage:</span> </span><span id="L-78"><a href="#L-78"><span class="linenos" data-line="78"></span></a><span class="cm">{{#invoke:String|sub|target_string|start_index|end_index}}</span> </span><span id="L-79"><a href="#L-79"><span class="linenos" data-line="79"></span></a><span class="cm">OR</span> </span><span id="L-80"><a href="#L-80"><span class="linenos" data-line="80"></span></a><span class="cm">{{#invoke:String|sub|s=target_string|i=start_index|j=end_index}}</span> </span><span id="L-81"><a href="#L-81"><span class="linenos" data-line="81"></span></a> </span><span id="L-82"><a href="#L-82"><span class="linenos" data-line="82"></span></a><span class="cm">Parameters</span> </span><span id="L-83"><a href="#L-83"><span class="linenos" data-line="83"></span></a><span class="cm"> s: The string to return a subset of</span> </span><span id="L-84"><a href="#L-84"><span class="linenos" data-line="84"></span></a><span class="cm"> i: The fist index of the substring to return, defaults to 1.</span> </span><span id="L-85"><a href="#L-85"><span class="linenos" data-line="85"></span></a><span class="cm"> j: The last index of the string to return, defaults to the last character.</span> </span><span id="L-86"><a href="#L-86"><span class="linenos" data-line="86"></span></a> </span><span id="L-87"><a href="#L-87"><span class="linenos" data-line="87"></span></a><span class="cm">The first character of the string is assigned an index of 1. If either i or j</span> </span><span id="L-88"><a href="#L-88"><span class="linenos" data-line="88"></span></a><span class="cm">is a negative value, it is interpreted the same as selecting a character by</span> </span><span id="L-89"><a href="#L-89"><span class="linenos" data-line="89"></span></a><span class="cm">counting from the end of the string. Hence, a value of -1 is the same as</span> </span><span id="L-90"><a href="#L-90"><span class="linenos" data-line="90"></span></a><span class="cm">selecting the last character of the string.</span> </span><span id="L-91"><a href="#L-91"><span class="linenos" data-line="91"></span></a> </span><span id="L-92"><a href="#L-92"><span class="linenos" data-line="92"></span></a><span class="cm">If the requested indices are out of range for the given string, an error is</span> </span><span id="L-93"><a href="#L-93"><span class="linenos" data-line="93"></span></a><span class="cm">reported.</span> </span><span id="L-94"><a href="#L-94"><span class="linenos" data-line="94"></span></a><span class="cm">]]</span> </span><span id="L-95"><a href="#L-95"><span class="linenos" data-line="95"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">sub</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-96"><a href="#L-96"><span class="linenos" data-line="96"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span> <span class="s1">'s'</span><span class="p">,</span> <span class="s1">'i'</span><span class="p">,</span> <span class="s1">'j'</span> <span class="p">}</span> <span class="p">)</span> </span><span id="L-97"><a href="#L-97"><span class="linenos" data-line="97"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'s'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-98"><a href="#L-98"><span class="linenos" data-line="98"></span></a> <span class="kd">local</span> <span class="n">i</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'i'</span><span class="p">]</span> <span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-99"><a href="#L-99"><span class="linenos" data-line="99"></span></a> <span class="kd">local</span> <span class="n">j</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'j'</span><span class="p">]</span> <span class="p">)</span> <span class="ow">or</span> <span class="o">-</span><span class="mi">1</span> </span><span id="L-100"><a href="#L-100"><span class="linenos" data-line="100"></span></a> </span><span id="L-101"><a href="#L-101"><span class="linenos" data-line="101"></span></a> <span class="kd">local</span> <span class="n">len</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">len</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> </span><span id="L-102"><a href="#L-102"><span class="linenos" data-line="102"></span></a> </span><span id="L-103"><a href="#L-103"><span class="linenos" data-line="103"></span></a> <span class="c1">-- Convert negatives for range checking</span> </span><span id="L-104"><a href="#L-104"><span class="linenos" data-line="104"></span></a> <span class="kr">if</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-105"><a href="#L-105"><span class="linenos" data-line="105"></span></a> <span class="n">i</span> <span class="o">=</span> <span class="n">len</span> <span class="o">+</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-106"><a href="#L-106"><span class="linenos" data-line="106"></span></a> <span class="kr">end</span> </span><span id="L-107"><a href="#L-107"><span class="linenos" data-line="107"></span></a> <span class="kr">if</span> <span class="n">j</span> <span class="o"><</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-108"><a href="#L-108"><span class="linenos" data-line="108"></span></a> <span class="n">j</span> <span class="o">=</span> <span class="n">len</span> <span class="o">+</span> <span class="n">j</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-109"><a href="#L-109"><span class="linenos" data-line="109"></span></a> <span class="kr">end</span> </span><span id="L-110"><a href="#L-110"><span class="linenos" data-line="110"></span></a> </span><span id="L-111"><a href="#L-111"><span class="linenos" data-line="111"></span></a> <span class="kr">if</span> <span class="n">i</span> <span class="o">></span> <span class="n">len</span> <span class="ow">or</span> <span class="n">j</span> <span class="o">></span> <span class="n">len</span> <span class="ow">or</span> <span class="n">i</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="n">j</span> <span class="o"><</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-112"><a href="#L-112"><span class="linenos" data-line="112"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'String subset index out of range'</span> <span class="p">)</span> </span><span id="L-113"><a href="#L-113"><span class="linenos" data-line="113"></span></a> <span class="kr">end</span> </span><span id="L-114"><a href="#L-114"><span class="linenos" data-line="114"></span></a> <span class="kr">if</span> <span class="n">j</span> <span class="o"><</span> <span class="n">i</span> <span class="kr">then</span> </span><span id="L-115"><a href="#L-115"><span class="linenos" data-line="115"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'String subset indices out of order'</span> <span class="p">)</span> </span><span id="L-116"><a href="#L-116"><span class="linenos" data-line="116"></span></a> <span class="kr">end</span> </span><span id="L-117"><a href="#L-117"><span class="linenos" data-line="117"></span></a> </span><span id="L-118"><a href="#L-118"><span class="linenos" data-line="118"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">i</span><span class="p">,</span> <span class="n">j</span> <span class="p">)</span> </span><span id="L-119"><a href="#L-119"><span class="linenos" data-line="119"></span></a><span class="kr">end</span> </span><span id="L-120"><a href="#L-120"><span class="linenos" data-line="120"></span></a> </span><span id="L-121"><a href="#L-121"><span class="linenos" data-line="121"></span></a><span class="cm">--[[</span> </span><span id="L-122"><a href="#L-122"><span class="linenos" data-line="122"></span></a><span class="cm">This function implements that features of {{str sub old}} and is kept in order</span> </span><span id="L-123"><a href="#L-123"><span class="linenos" data-line="123"></span></a><span class="cm">to maintain these older templates.</span> </span><span id="L-124"><a href="#L-124"><span class="linenos" data-line="124"></span></a><span class="cm">]]</span> </span><span id="L-125"><a href="#L-125"><span class="linenos" data-line="125"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">sublength</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-126"><a href="#L-126"><span class="linenos" data-line="126"></span></a> <span class="kd">local</span> <span class="n">i</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">i</span> <span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span> </span><span id="L-127"><a href="#L-127"><span class="linenos" data-line="127"></span></a> <span class="kd">local</span> <span class="n">len</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">len</span> <span class="p">)</span> </span><span id="L-128"><a href="#L-128"><span class="linenos" data-line="128"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">s</span><span class="p">,</span> <span class="n">i</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">len</span> <span class="ow">and</span> <span class="p">(</span> <span class="n">i</span> <span class="o">+</span> <span class="n">len</span> <span class="p">)</span> <span class="p">)</span> </span><span id="L-129"><a href="#L-129"><span class="linenos" data-line="129"></span></a><span class="kr">end</span> </span><span id="L-130"><a href="#L-130"><span class="linenos" data-line="130"></span></a> </span><span id="L-131"><a href="#L-131"><span class="linenos" data-line="131"></span></a><span class="cm">--[[</span> </span><span id="L-132"><a href="#L-132"><span class="linenos" data-line="132"></span></a><span class="cm">_match</span> </span><span id="L-133"><a href="#L-133"><span class="linenos" data-line="133"></span></a> </span><span id="L-134"><a href="#L-134"><span class="linenos" data-line="134"></span></a><span class="cm">This function returns a substring from the source string that matches a</span> </span><span id="L-135"><a href="#L-135"><span class="linenos" data-line="135"></span></a><span class="cm">specified pattern. It is exported for use in other modules</span> </span><span id="L-136"><a href="#L-136"><span class="linenos" data-line="136"></span></a> </span><span id="L-137"><a href="#L-137"><span class="linenos" data-line="137"></span></a><span class="cm">Usage:</span> </span><span id="L-138"><a href="#L-138"><span class="linenos" data-line="138"></span></a><span class="cm">strmatch = require("Module:String")._match</span> </span><span id="L-139"><a href="#L-139"><span class="linenos" data-line="139"></span></a><span class="cm">sresult = strmatch( s, pattern, start, match, plain, nomatch )</span> </span><span id="L-140"><a href="#L-140"><span class="linenos" data-line="140"></span></a> </span><span id="L-141"><a href="#L-141"><span class="linenos" data-line="141"></span></a><span class="cm">Parameters</span> </span><span id="L-142"><a href="#L-142"><span class="linenos" data-line="142"></span></a><span class="cm"> s: The string to search</span> </span><span id="L-143"><a href="#L-143"><span class="linenos" data-line="143"></span></a><span class="cm"> pattern: The pattern or string to find within the string</span> </span><span id="L-144"><a href="#L-144"><span class="linenos" data-line="144"></span></a><span class="cm"> start: The index within the source string to start the search. The first</span> </span><span id="L-145"><a href="#L-145"><span class="linenos" data-line="145"></span></a><span class="cm"> character of the string has index 1. Defaults to 1.</span> </span><span id="L-146"><a href="#L-146"><span class="linenos" data-line="146"></span></a><span class="cm"> match: In some cases it may be possible to make multiple matches on a single</span> </span><span id="L-147"><a href="#L-147"><span class="linenos" data-line="147"></span></a><span class="cm"> string. This specifies which match to return, where the first match is</span> </span><span id="L-148"><a href="#L-148"><span class="linenos" data-line="148"></span></a><span class="cm"> match= 1. If a negative number is specified then a match is returned</span> </span><span id="L-149"><a href="#L-149"><span class="linenos" data-line="149"></span></a><span class="cm"> counting from the last match. Hence match = -1 is the same as requesting</span> </span><span id="L-150"><a href="#L-150"><span class="linenos" data-line="150"></span></a><span class="cm"> the last match. Defaults to 1.</span> </span><span id="L-151"><a href="#L-151"><span class="linenos" data-line="151"></span></a><span class="cm"> plain: A flag indicating that the pattern should be understood as plain</span> </span><span id="L-152"><a href="#L-152"><span class="linenos" data-line="152"></span></a><span class="cm"> text. Defaults to false.</span> </span><span id="L-153"><a href="#L-153"><span class="linenos" data-line="153"></span></a><span class="cm"> nomatch: If no match is found, output the "nomatch" value rather than an error.</span> </span><span id="L-154"><a href="#L-154"><span class="linenos" data-line="154"></span></a> </span><span id="L-155"><a href="#L-155"><span class="linenos" data-line="155"></span></a><span class="cm">For information on constructing Lua patterns, a form of [regular expression], see:</span> </span><span id="L-156"><a href="#L-156"><span class="linenos" data-line="156"></span></a> </span><span id="L-157"><a href="#L-157"><span class="linenos" data-line="157"></span></a><span class="cm">* http://www.lua.org/manual/5.1/manual.html#5.4.1</span> </span><span id="L-158"><a href="#L-158"><span class="linenos" data-line="158"></span></a><span class="cm">* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns</span> </span><span id="L-159"><a href="#L-159"><span class="linenos" data-line="159"></span></a><span class="cm">* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns</span> </span><span id="L-160"><a href="#L-160"><span class="linenos" data-line="160"></span></a> </span><span id="L-161"><a href="#L-161"><span class="linenos" data-line="161"></span></a><span class="cm">]]</span> </span><span id="L-162"><a href="#L-162"><span class="linenos" data-line="162"></span></a><span class="c1">-- This sub-routine is exported for use in other modules</span> </span><span id="L-163"><a href="#L-163"><span class="linenos" data-line="163"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_match</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">match_index</span><span class="p">,</span> <span class="n">plain_flag</span><span class="p">,</span> <span class="n">nomatch</span> <span class="p">)</span> </span><span id="L-164"><a href="#L-164"><span class="linenos" data-line="164"></span></a> <span class="kr">if</span> <span class="n">s</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-165"><a href="#L-165"><span class="linenos" data-line="165"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Target string is empty'</span> <span class="p">)</span> </span><span id="L-166"><a href="#L-166"><span class="linenos" data-line="166"></span></a> <span class="kr">end</span> </span><span id="L-167"><a href="#L-167"><span class="linenos" data-line="167"></span></a> <span class="kr">if</span> <span class="n">pattern</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-168"><a href="#L-168"><span class="linenos" data-line="168"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Pattern string is empty'</span> <span class="p">)</span> </span><span id="L-169"><a href="#L-169"><span class="linenos" data-line="169"></span></a> <span class="kr">end</span> </span><span id="L-170"><a href="#L-170"><span class="linenos" data-line="170"></span></a> <span class="n">start</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">start</span><span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-171"><a href="#L-171"><span class="linenos" data-line="171"></span></a> <span class="kr">if</span> <span class="nb">math.abs</span><span class="p">(</span><span class="n">start</span><span class="p">)</span> <span class="o"><</span> <span class="mi">1</span> <span class="ow">or</span> <span class="nb">math.abs</span><span class="p">(</span><span class="n">start</span><span class="p">)</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">len</span><span class="p">(</span> <span class="n">s</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-172"><a href="#L-172"><span class="linenos" data-line="172"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Requested start is out of range'</span> <span class="p">)</span> </span><span id="L-173"><a href="#L-173"><span class="linenos" data-line="173"></span></a> <span class="kr">end</span> </span><span id="L-174"><a href="#L-174"><span class="linenos" data-line="174"></span></a> <span class="kr">if</span> <span class="n">match_index</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-175"><a href="#L-175"><span class="linenos" data-line="175"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Match index is out of range'</span> <span class="p">)</span> </span><span id="L-176"><a href="#L-176"><span class="linenos" data-line="176"></span></a> <span class="kr">end</span> </span><span id="L-177"><a href="#L-177"><span class="linenos" data-line="177"></span></a> <span class="kr">if</span> <span class="n">plain_flag</span> <span class="kr">then</span> </span><span id="L-178"><a href="#L-178"><span class="linenos" data-line="178"></span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_escapePattern</span><span class="p">(</span> <span class="n">pattern</span> <span class="p">)</span> </span><span id="L-179"><a href="#L-179"><span class="linenos" data-line="179"></span></a> <span class="kr">end</span> </span><span id="L-180"><a href="#L-180"><span class="linenos" data-line="180"></span></a> </span><span id="L-181"><a href="#L-181"><span class="linenos" data-line="181"></span></a> <span class="kd">local</span> <span class="n">result</span> </span><span id="L-182"><a href="#L-182"><span class="linenos" data-line="182"></span></a> <span class="kr">if</span> <span class="n">match_index</span> <span class="o">==</span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-183"><a href="#L-183"><span class="linenos" data-line="183"></span></a> <span class="c1">-- Find first match is simple case</span> </span><span id="L-184"><a href="#L-184"><span class="linenos" data-line="184"></span></a> <span class="n">result</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">match</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">start</span> <span class="p">)</span> </span><span id="L-185"><a href="#L-185"><span class="linenos" data-line="185"></span></a> <span class="kr">else</span> </span><span id="L-186"><a href="#L-186"><span class="linenos" data-line="186"></span></a> <span class="kr">if</span> <span class="n">start</span> <span class="o">></span> <span class="mi">1</span> <span class="kr">then</span> </span><span id="L-187"><a href="#L-187"><span class="linenos" data-line="187"></span></a> <span class="n">s</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">sub</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">start</span> <span class="p">)</span> </span><span id="L-188"><a href="#L-188"><span class="linenos" data-line="188"></span></a> <span class="kr">end</span> </span><span id="L-189"><a href="#L-189"><span class="linenos" data-line="189"></span></a> </span><span id="L-190"><a href="#L-190"><span class="linenos" data-line="190"></span></a> <span class="kd">local</span> <span class="n">iterator</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">gmatch</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">pattern</span><span class="p">)</span> </span><span id="L-191"><a href="#L-191"><span class="linenos" data-line="191"></span></a> <span class="kr">if</span> <span class="n">match_index</span> <span class="o">></span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-192"><a href="#L-192"><span class="linenos" data-line="192"></span></a> <span class="c1">-- Forward search</span> </span><span id="L-193"><a href="#L-193"><span class="linenos" data-line="193"></span></a> <span class="kr">for</span> <span class="n">w</span> <span class="kr">in</span> <span class="n">iterator</span> <span class="kr">do</span> </span><span id="L-194"><a href="#L-194"><span class="linenos" data-line="194"></span></a> <span class="n">match_index</span> <span class="o">=</span> <span class="n">match_index</span> <span class="o">-</span> <span class="mi">1</span> </span><span id="L-195"><a href="#L-195"><span class="linenos" data-line="195"></span></a> <span class="kr">if</span> <span class="n">match_index</span> <span class="o">==</span> <span class="mi">0</span> <span class="kr">then</span> </span><span id="L-196"><a href="#L-196"><span class="linenos" data-line="196"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">w</span> </span><span id="L-197"><a href="#L-197"><span class="linenos" data-line="197"></span></a> <span class="kr">break</span> </span><span id="L-198"><a href="#L-198"><span class="linenos" data-line="198"></span></a> <span class="kr">end</span> </span><span id="L-199"><a href="#L-199"><span class="linenos" data-line="199"></span></a> <span class="kr">end</span> </span><span id="L-200"><a href="#L-200"><span class="linenos" data-line="200"></span></a> <span class="kr">else</span> </span><span id="L-201"><a href="#L-201"><span class="linenos" data-line="201"></span></a> <span class="c1">-- Reverse search</span> </span><span id="L-202"><a href="#L-202"><span class="linenos" data-line="202"></span></a> <span class="kd">local</span> <span class="n">result_table</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-203"><a href="#L-203"><span class="linenos" data-line="203"></span></a> <span class="kd">local</span> <span class="n">count</span> <span class="o">=</span> <span class="mi">1</span> </span><span id="L-204"><a href="#L-204"><span class="linenos" data-line="204"></span></a> <span class="kr">for</span> <span class="n">w</span> <span class="kr">in</span> <span class="n">iterator</span> <span class="kr">do</span> </span><span id="L-205"><a href="#L-205"><span class="linenos" data-line="205"></span></a> <span class="n">result_table</span><span class="p">[</span><span class="n">count</span><span class="p">]</span> <span class="o">=</span> <span class="n">w</span> </span><span id="L-206"><a href="#L-206"><span class="linenos" data-line="206"></span></a> <span class="n">count</span> <span class="o">=</span> <span class="n">count</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-207"><a href="#L-207"><span class="linenos" data-line="207"></span></a> <span class="kr">end</span> </span><span id="L-208"><a href="#L-208"><span class="linenos" data-line="208"></span></a> </span><span id="L-209"><a href="#L-209"><span class="linenos" data-line="209"></span></a> <span class="n">result</span> <span class="o">=</span> <span class="n">result_table</span><span class="p">[</span> <span class="n">count</span> <span class="o">+</span> <span class="n">match_index</span> <span class="p">]</span> </span><span id="L-210"><a href="#L-210"><span class="linenos" data-line="210"></span></a> <span class="kr">end</span> </span><span id="L-211"><a href="#L-211"><span class="linenos" data-line="211"></span></a> <span class="kr">end</span> </span><span id="L-212"><a href="#L-212"><span class="linenos" data-line="212"></span></a> </span><span id="L-213"><a href="#L-213"><span class="linenos" data-line="213"></span></a> <span class="kr">if</span> <span class="n">result</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-214"><a href="#L-214"><span class="linenos" data-line="214"></span></a> <span class="kr">if</span> <span class="n">nomatch</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-215"><a href="#L-215"><span class="linenos" data-line="215"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'Match not found'</span> <span class="p">)</span> </span><span id="L-216"><a href="#L-216"><span class="linenos" data-line="216"></span></a> <span class="kr">else</span> </span><span id="L-217"><a href="#L-217"><span class="linenos" data-line="217"></span></a> <span class="kr">return</span> <span class="n">nomatch</span> </span><span id="L-218"><a href="#L-218"><span class="linenos" data-line="218"></span></a> <span class="kr">end</span> </span><span id="L-219"><a href="#L-219"><span class="linenos" data-line="219"></span></a> <span class="kr">else</span> </span><span id="L-220"><a href="#L-220"><span class="linenos" data-line="220"></span></a> <span class="kr">return</span> <span class="n">result</span> </span><span id="L-221"><a href="#L-221"><span class="linenos" data-line="221"></span></a> <span class="kr">end</span> </span><span id="L-222"><a href="#L-222"><span class="linenos" data-line="222"></span></a><span class="kr">end</span> </span><span id="L-223"><a href="#L-223"><span class="linenos" data-line="223"></span></a> </span><span id="L-224"><a href="#L-224"><span class="linenos" data-line="224"></span></a><span class="cm">--[[</span> </span><span id="L-225"><a href="#L-225"><span class="linenos" data-line="225"></span></a><span class="cm">match</span> </span><span id="L-226"><a href="#L-226"><span class="linenos" data-line="226"></span></a> </span><span id="L-227"><a href="#L-227"><span class="linenos" data-line="227"></span></a><span class="cm">This function returns a substring from the source string that matches a</span> </span><span id="L-228"><a href="#L-228"><span class="linenos" data-line="228"></span></a><span class="cm">specified pattern.</span> </span><span id="L-229"><a href="#L-229"><span class="linenos" data-line="229"></span></a> </span><span id="L-230"><a href="#L-230"><span class="linenos" data-line="230"></span></a><span class="cm">Usage:</span> </span><span id="L-231"><a href="#L-231"><span class="linenos" data-line="231"></span></a><span class="cm">{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}}</span> </span><span id="L-232"><a href="#L-232"><span class="linenos" data-line="232"></span></a><span class="cm">OR</span> </span><span id="L-233"><a href="#L-233"><span class="linenos" data-line="233"></span></a><span class="cm">{{#invoke:String|match|s=source_string|pattern=pattern_string|start=start_index</span> </span><span id="L-234"><a href="#L-234"><span class="linenos" data-line="234"></span></a><span class="cm"> |match=match_number|plain=plain_flag|nomatch=nomatch_output}}</span> </span><span id="L-235"><a href="#L-235"><span class="linenos" data-line="235"></span></a> </span><span id="L-236"><a href="#L-236"><span class="linenos" data-line="236"></span></a><span class="cm">Parameters</span> </span><span id="L-237"><a href="#L-237"><span class="linenos" data-line="237"></span></a><span class="cm"> s: The string to search</span> </span><span id="L-238"><a href="#L-238"><span class="linenos" data-line="238"></span></a><span class="cm"> pattern: The pattern or string to find within the string</span> </span><span id="L-239"><a href="#L-239"><span class="linenos" data-line="239"></span></a><span class="cm"> start: The index within the source string to start the search. The first</span> </span><span id="L-240"><a href="#L-240"><span class="linenos" data-line="240"></span></a><span class="cm"> character of the string has index 1. Defaults to 1.</span> </span><span id="L-241"><a href="#L-241"><span class="linenos" data-line="241"></span></a><span class="cm"> match: In some cases it may be possible to make multiple matches on a single</span> </span><span id="L-242"><a href="#L-242"><span class="linenos" data-line="242"></span></a><span class="cm"> string. This specifies which match to return, where the first match is</span> </span><span id="L-243"><a href="#L-243"><span class="linenos" data-line="243"></span></a><span class="cm"> match= 1. If a negative number is specified then a match is returned</span> </span><span id="L-244"><a href="#L-244"><span class="linenos" data-line="244"></span></a><span class="cm"> counting from the last match. Hence match = -1 is the same as requesting</span> </span><span id="L-245"><a href="#L-245"><span class="linenos" data-line="245"></span></a><span class="cm"> the last match. Defaults to 1.</span> </span><span id="L-246"><a href="#L-246"><span class="linenos" data-line="246"></span></a><span class="cm"> plain: A flag indicating that the pattern should be understood as plain</span> </span><span id="L-247"><a href="#L-247"><span class="linenos" data-line="247"></span></a><span class="cm"> text. Defaults to false.</span> </span><span id="L-248"><a href="#L-248"><span class="linenos" data-line="248"></span></a><span class="cm"> nomatch: If no match is found, output the "nomatch" value rather than an error.</span> </span><span id="L-249"><a href="#L-249"><span class="linenos" data-line="249"></span></a> </span><span id="L-250"><a href="#L-250"><span class="linenos" data-line="250"></span></a><span class="cm">If invoked using named parameters, Mediawiki will automatically remove any leading or</span> </span><span id="L-251"><a href="#L-251"><span class="linenos" data-line="251"></span></a><span class="cm">trailing whitespace from each string. In some circumstances this is desirable, in</span> </span><span id="L-252"><a href="#L-252"><span class="linenos" data-line="252"></span></a><span class="cm">other cases one may want to preserve the whitespace.</span> </span><span id="L-253"><a href="#L-253"><span class="linenos" data-line="253"></span></a> </span><span id="L-254"><a href="#L-254"><span class="linenos" data-line="254"></span></a><span class="cm">If the match_number or start_index are out of range for the string being queried, then</span> </span><span id="L-255"><a href="#L-255"><span class="linenos" data-line="255"></span></a><span class="cm">this function generates an error. An error is also generated if no match is found.</span> </span><span id="L-256"><a href="#L-256"><span class="linenos" data-line="256"></span></a><span class="cm">If one adds the parameter ignore_errors=true, then the error will be suppressed and</span> </span><span id="L-257"><a href="#L-257"><span class="linenos" data-line="257"></span></a><span class="cm">an empty string will be returned on any failure.</span> </span><span id="L-258"><a href="#L-258"><span class="linenos" data-line="258"></span></a> </span><span id="L-259"><a href="#L-259"><span class="linenos" data-line="259"></span></a><span class="cm">For information on constructing Lua patterns, a form of [regular expression], see:</span> </span><span id="L-260"><a href="#L-260"><span class="linenos" data-line="260"></span></a> </span><span id="L-261"><a href="#L-261"><span class="linenos" data-line="261"></span></a><span class="cm">* http://www.lua.org/manual/5.1/manual.html#5.4.1</span> </span><span id="L-262"><a href="#L-262"><span class="linenos" data-line="262"></span></a><span class="cm">* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns</span> </span><span id="L-263"><a href="#L-263"><span class="linenos" data-line="263"></span></a><span class="cm">* http://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Ustring_patterns</span> </span><span id="L-264"><a href="#L-264"><span class="linenos" data-line="264"></span></a> </span><span id="L-265"><a href="#L-265"><span class="linenos" data-line="265"></span></a><span class="cm">]]</span> </span><span id="L-266"><a href="#L-266"><span class="linenos" data-line="266"></span></a><span class="c1">-- This is the entry point for #invoke:String|match</span> </span><span id="L-267"><a href="#L-267"><span class="linenos" data-line="267"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">match</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-268"><a href="#L-268"><span class="linenos" data-line="268"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'s'</span><span class="p">,</span> <span class="s1">'pattern'</span><span class="p">,</span> <span class="s1">'start'</span><span class="p">,</span> <span class="s1">'match'</span><span class="p">,</span> <span class="s1">'plain'</span><span class="p">,</span> <span class="s1">'nomatch'</span><span class="p">}</span> <span class="p">)</span> </span><span id="L-269"><a href="#L-269"><span class="linenos" data-line="269"></span></a> <span class="kd">local</span> <span class="n">s</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'s'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-270"><a href="#L-270"><span class="linenos" data-line="270"></span></a> <span class="kd">local</span> <span class="n">start</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'start'</span><span class="p">]</span> <span class="p">)</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-271"><a href="#L-271"><span class="linenos" data-line="271"></span></a> <span class="kd">local</span> <span class="n">plain_flag</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'plain'</span><span class="p">]</span> <span class="ow">or</span> <span class="kc">false</span> <span class="p">)</span> </span><span id="L-272"><a href="#L-272"><span class="linenos" data-line="272"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'pattern'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-273"><a href="#L-273"><span class="linenos" data-line="273"></span></a> <span class="kd">local</span> <span class="n">match_index</span> <span class="o">=</span> <span class="nb">math.floor</span><span class="p">(</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">new_args</span><span class="p">[</span><span class="s1">'match'</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">1</span> <span class="p">)</span> </span><span id="L-274"><a href="#L-274"><span class="linenos" data-line="274"></span></a> <span class="kd">local</span> <span class="n">nomatch</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'nomatch'</span><span class="p">]</span> </span><span id="L-275"><a href="#L-275"><span class="linenos" data-line="275"></span></a> </span><span id="L-276"><a href="#L-276"><span class="linenos" data-line="276"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_match</span><span class="p">(</span> <span class="n">s</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">start</span><span class="p">,</span> <span class="n">match_index</span><span class="p">,</span> <span class="n">plain_flag</span><span class="p">,</span> <span class="n">nomatch</span> <span class="p">)</span> </span><span id="L-277"><a href="#L-277"><span class="linenos" data-line="277"></span></a><span class="kr">end</span> </span><span id="L-278"><a href="#L-278"><span class="linenos" data-line="278"></span></a> </span><span id="L-279"><a href="#L-279"><span class="linenos" data-line="279"></span></a><span class="cm">--[[</span> </span><span id="L-280"><a href="#L-280"><span class="linenos" data-line="280"></span></a><span class="cm">pos</span> </span><span id="L-281"><a href="#L-281"><span class="linenos" data-line="281"></span></a> </span><span id="L-282"><a href="#L-282"><span class="linenos" data-line="282"></span></a><span class="cm">This function returns a single character from the target string at position pos.</span> </span><span id="L-283"><a href="#L-283"><span class="linenos" data-line="283"></span></a> </span><span id="L-284"><a href="#L-284"><span class="linenos" data-line="284"></span></a><span class="cm">Usage:</span> </span><span id="L-285"><a href="#L-285"><span class="linenos" data-line="285"></span></a><span class="cm">{{#invoke:String|pos|target_string|index_value}}</span> </span><span id="L-286"><a href="#L-286"><span class="linenos" data-line="286"></span></a><span class="cm">OR</span> </span><span id="L-287"><a href="#L-287"><span class="linenos" data-line="287"></span></a><span class="cm">{{#invoke:String|pos|target=target_string|pos=index_value}}</span> </span><span id="L-288"><a href="#L-288"><span class="linenos" data-line="288"></span></a> </span><span id="L-289"><a href="#L-289"><span class="linenos" data-line="289"></span></a><span class="cm">Parameters</span> </span><span id="L-290"><a href="#L-290"><span class="linenos" data-line="290"></span></a><span class="cm"> target: The string to search</span> </span><span id="L-291"><a href="#L-291"><span class="linenos" data-line="291"></span></a><span class="cm"> pos: The index for the character to return</span> </span><span id="L-292"><a href="#L-292"><span class="linenos" data-line="292"></span></a> </span><span id="L-293"><a href="#L-293"><span class="linenos" data-line="293"></span></a><span class="cm">If invoked using named parameters, Mediawiki will automatically remove any leading or</span> </span><span id="L-294"><a href="#L-294"><span class="linenos" data-line="294"></span></a><span class="cm">trailing whitespace from the target string. In some circumstances this is desirable, in</span> </span><span id="L-295"><a href="#L-295"><span class="linenos" data-line="295"></span></a><span class="cm">other cases one may want to preserve the whitespace.</span> </span><span id="L-296"><a href="#L-296"><span class="linenos" data-line="296"></span></a> </span><span id="L-297"><a href="#L-297"><span class="linenos" data-line="297"></span></a><span class="cm">The first character has an index value of 1.</span> </span><span id="L-298"><a href="#L-298"><span class="linenos" data-line="298"></span></a> </span><span id="L-299"><a href="#L-299"><span class="linenos" data-line="299"></span></a><span class="cm">If one requests a negative value, this function will select a character by counting backwards</span> </span><span id="L-300"><a href="#L-300"><span class="linenos" data-line="300"></span></a><span class="cm">from the end of the string. In other words pos = -1 is the same as asking for the last character.</span> </span><span id="L-301"><a href="#L-301"><span class="linenos" data-line="301"></span></a> </span><span id="L-302"><a href="#L-302"><span class="linenos" data-line="302"></span></a><span class="cm">A requested value of zero, or a value greater than the length of the string returns an error.</span> </span><span id="L-303"><a href="#L-303"><span class="linenos" data-line="303"></span></a><span class="cm">]]</span> </span><span id="L-304"><a href="#L-304"><span class="linenos" data-line="304"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">pos</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-305"><a href="#L-305"><span class="linenos" data-line="305"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'target'</span><span class="p">,</span> <span class="s1">'pos'</span><span class="p">}</span> <span class="p">)</span> </span><span id="L-306"><a href="#L-306"><span class="linenos" data-line="306"></span></a> <span class="kd">local</span> <span class="n">target_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'target'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-307"><a href="#L-307"><span class="linenos" data-line="307"></span></a> <span class="kd">local</span> <span class="n">pos</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'pos'</span><span class="p">]</span> <span class="p">)</span> <span class="ow">or</span> <span class="mi">0</span> </span><span id="L-308"><a href="#L-308"><span class="linenos" data-line="308"></span></a> </span><span id="L-309"><a href="#L-309"><span class="linenos" data-line="309"></span></a> <span class="kr">if</span> <span class="n">pos</span> <span class="o">==</span> <span class="mi">0</span> <span class="ow">or</span> <span class="nb">math.abs</span><span class="p">(</span><span class="n">pos</span><span class="p">)</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">len</span><span class="p">(</span> <span class="n">target_str</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-310"><a href="#L-310"><span class="linenos" data-line="310"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'String index out of range'</span> <span class="p">)</span> </span><span id="L-311"><a href="#L-311"><span class="linenos" data-line="311"></span></a> <span class="kr">end</span> </span><span id="L-312"><a href="#L-312"><span class="linenos" data-line="312"></span></a> </span><span id="L-313"><a href="#L-313"><span class="linenos" data-line="313"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span> <span class="n">target_str</span><span class="p">,</span> <span class="n">pos</span><span class="p">,</span> <span class="n">pos</span> <span class="p">)</span> </span><span id="L-314"><a href="#L-314"><span class="linenos" data-line="314"></span></a><span class="kr">end</span> </span><span id="L-315"><a href="#L-315"><span class="linenos" data-line="315"></span></a> </span><span id="L-316"><a href="#L-316"><span class="linenos" data-line="316"></span></a><span class="cm">--[[</span> </span><span id="L-317"><a href="#L-317"><span class="linenos" data-line="317"></span></a><span class="cm">str_find</span> </span><span id="L-318"><a href="#L-318"><span class="linenos" data-line="318"></span></a> </span><span id="L-319"><a href="#L-319"><span class="linenos" data-line="319"></span></a><span class="cm">This function duplicates the behavior of {{str_find}}, including all of its quirks.</span> </span><span id="L-320"><a href="#L-320"><span class="linenos" data-line="320"></span></a><span class="cm">This is provided in order to support existing templates, but is NOT RECOMMENDED for</span> </span><span id="L-321"><a href="#L-321"><span class="linenos" data-line="321"></span></a><span class="cm">new code and templates. New code is recommended to use the "find" function instead.</span> </span><span id="L-322"><a href="#L-322"><span class="linenos" data-line="322"></span></a> </span><span id="L-323"><a href="#L-323"><span class="linenos" data-line="323"></span></a><span class="cm">Returns the first index in "source" that is a match to "target". Indexing is 1-based,</span> </span><span id="L-324"><a href="#L-324"><span class="linenos" data-line="324"></span></a><span class="cm">and the function returns -1 if the "target" string is not present in "source".</span> </span><span id="L-325"><a href="#L-325"><span class="linenos" data-line="325"></span></a> </span><span id="L-326"><a href="#L-326"><span class="linenos" data-line="326"></span></a><span class="cm">Important Note: If the "target" string is empty / missing, this function returns a</span> </span><span id="L-327"><a href="#L-327"><span class="linenos" data-line="327"></span></a><span class="cm">value of "1", which is generally unexpected behavior, and must be accounted for</span> </span><span id="L-328"><a href="#L-328"><span class="linenos" data-line="328"></span></a><span class="cm">separatetly.</span> </span><span id="L-329"><a href="#L-329"><span class="linenos" data-line="329"></span></a><span class="cm">]]</span> </span><span id="L-330"><a href="#L-330"><span class="linenos" data-line="330"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">str_find</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-331"><a href="#L-331"><span class="linenos" data-line="331"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'source'</span><span class="p">,</span> <span class="s1">'target'</span><span class="p">}</span> <span class="p">)</span> </span><span id="L-332"><a href="#L-332"><span class="linenos" data-line="332"></span></a> <span class="kd">local</span> <span class="n">source_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'source'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-333"><a href="#L-333"><span class="linenos" data-line="333"></span></a> <span class="kd">local</span> <span class="n">target_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'target'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-334"><a href="#L-334"><span class="linenos" data-line="334"></span></a> </span><span id="L-335"><a href="#L-335"><span class="linenos" data-line="335"></span></a> <span class="kr">if</span> <span class="n">target_str</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-336"><a href="#L-336"><span class="linenos" data-line="336"></span></a> <span class="kr">return</span> <span class="mi">1</span> </span><span id="L-337"><a href="#L-337"><span class="linenos" data-line="337"></span></a> <span class="kr">end</span> </span><span id="L-338"><a href="#L-338"><span class="linenos" data-line="338"></span></a> </span><span id="L-339"><a href="#L-339"><span class="linenos" data-line="339"></span></a> <span class="kd">local</span> <span class="n">start</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">find</span><span class="p">(</span> <span class="n">source_str</span><span class="p">,</span> <span class="n">target_str</span><span class="p">,</span> <span class="mi">1</span><span class="p">,</span> <span class="kc">true</span> <span class="p">)</span> </span><span id="L-340"><a href="#L-340"><span class="linenos" data-line="340"></span></a> <span class="kr">if</span> <span class="n">start</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-341"><a href="#L-341"><span class="linenos" data-line="341"></span></a> <span class="n">start</span> <span class="o">=</span> <span class="o">-</span><span class="mi">1</span> </span><span id="L-342"><a href="#L-342"><span class="linenos" data-line="342"></span></a> <span class="kr">end</span> </span><span id="L-343"><a href="#L-343"><span class="linenos" data-line="343"></span></a> </span><span id="L-344"><a href="#L-344"><span class="linenos" data-line="344"></span></a> <span class="kr">return</span> <span class="n">start</span> </span><span id="L-345"><a href="#L-345"><span class="linenos" data-line="345"></span></a><span class="kr">end</span> </span><span id="L-346"><a href="#L-346"><span class="linenos" data-line="346"></span></a> </span><span id="L-347"><a href="#L-347"><span class="linenos" data-line="347"></span></a><span class="cm">--[[</span> </span><span id="L-348"><a href="#L-348"><span class="linenos" data-line="348"></span></a><span class="cm">find</span> </span><span id="L-349"><a href="#L-349"><span class="linenos" data-line="349"></span></a> </span><span id="L-350"><a href="#L-350"><span class="linenos" data-line="350"></span></a><span class="cm">This function allows one to search for a target string or pattern within another</span> </span><span id="L-351"><a href="#L-351"><span class="linenos" data-line="351"></span></a><span class="cm">string.</span> </span><span id="L-352"><a href="#L-352"><span class="linenos" data-line="352"></span></a> </span><span id="L-353"><a href="#L-353"><span class="linenos" data-line="353"></span></a><span class="cm">Usage:</span> </span><span id="L-354"><a href="#L-354"><span class="linenos" data-line="354"></span></a><span class="cm">{{#invoke:String|find|source_str|target_string|start_index|plain_flag}}</span> </span><span id="L-355"><a href="#L-355"><span class="linenos" data-line="355"></span></a><span class="cm">OR</span> </span><span id="L-356"><a href="#L-356"><span class="linenos" data-line="356"></span></a><span class="cm">{{#invoke:String|find|source=source_str|target=target_str|start=start_index|plain=plain_flag}}</span> </span><span id="L-357"><a href="#L-357"><span class="linenos" data-line="357"></span></a> </span><span id="L-358"><a href="#L-358"><span class="linenos" data-line="358"></span></a><span class="cm">Parameters</span> </span><span id="L-359"><a href="#L-359"><span class="linenos" data-line="359"></span></a><span class="cm"> source: The string to search</span> </span><span id="L-360"><a href="#L-360"><span class="linenos" data-line="360"></span></a><span class="cm"> target: The string or pattern to find within source</span> </span><span id="L-361"><a href="#L-361"><span class="linenos" data-line="361"></span></a><span class="cm"> start: The index within the source string to start the search, defaults to 1</span> </span><span id="L-362"><a href="#L-362"><span class="linenos" data-line="362"></span></a><span class="cm"> plain: Boolean flag indicating that target should be understood as plain</span> </span><span id="L-363"><a href="#L-363"><span class="linenos" data-line="363"></span></a><span class="cm"> text and not as a Lua style regular expression, defaults to true</span> </span><span id="L-364"><a href="#L-364"><span class="linenos" data-line="364"></span></a> </span><span id="L-365"><a href="#L-365"><span class="linenos" data-line="365"></span></a><span class="cm">If invoked using named parameters, Mediawiki will automatically remove any leading or</span> </span><span id="L-366"><a href="#L-366"><span class="linenos" data-line="366"></span></a><span class="cm">trailing whitespace from the parameter. In some circumstances this is desirable, in</span> </span><span id="L-367"><a href="#L-367"><span class="linenos" data-line="367"></span></a><span class="cm">other cases one may want to preserve the whitespace.</span> </span><span id="L-368"><a href="#L-368"><span class="linenos" data-line="368"></span></a> </span><span id="L-369"><a href="#L-369"><span class="linenos" data-line="369"></span></a><span class="cm">This function returns the first index >= "start" where "target" can be found</span> </span><span id="L-370"><a href="#L-370"><span class="linenos" data-line="370"></span></a><span class="cm">within "source". Indices are 1-based. If "target" is not found, then this</span> </span><span id="L-371"><a href="#L-371"><span class="linenos" data-line="371"></span></a><span class="cm">function returns 0. If either "source" or "target" are missing / empty, this</span> </span><span id="L-372"><a href="#L-372"><span class="linenos" data-line="372"></span></a><span class="cm">function also returns 0.</span> </span><span id="L-373"><a href="#L-373"><span class="linenos" data-line="373"></span></a> </span><span id="L-374"><a href="#L-374"><span class="linenos" data-line="374"></span></a><span class="cm">This function should be safe for UTF-8 strings.</span> </span><span id="L-375"><a href="#L-375"><span class="linenos" data-line="375"></span></a><span class="cm">]]</span> </span><span id="L-376"><a href="#L-376"><span class="linenos" data-line="376"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">find</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-377"><a href="#L-377"><span class="linenos" data-line="377"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'source'</span><span class="p">,</span> <span class="s1">'target'</span><span class="p">,</span> <span class="s1">'start'</span><span class="p">,</span> <span class="s1">'plain'</span> <span class="p">}</span> <span class="p">)</span> </span><span id="L-378"><a href="#L-378"><span class="linenos" data-line="378"></span></a> <span class="kd">local</span> <span class="n">source_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'source'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-379"><a href="#L-379"><span class="linenos" data-line="379"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'target'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-380"><a href="#L-380"><span class="linenos" data-line="380"></span></a> <span class="kd">local</span> <span class="n">start_pos</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span><span class="n">new_args</span><span class="p">[</span><span class="s1">'start'</span><span class="p">])</span> <span class="ow">or</span> <span class="mi">1</span> </span><span id="L-381"><a href="#L-381"><span class="linenos" data-line="381"></span></a> <span class="kd">local</span> <span class="n">plain</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'plain'</span><span class="p">]</span> <span class="ow">or</span> <span class="kc">true</span> </span><span id="L-382"><a href="#L-382"><span class="linenos" data-line="382"></span></a> </span><span id="L-383"><a href="#L-383"><span class="linenos" data-line="383"></span></a> <span class="kr">if</span> <span class="n">source_str</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">or</span> <span class="n">pattern</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-384"><a href="#L-384"><span class="linenos" data-line="384"></span></a> <span class="kr">return</span> <span class="mi">0</span> </span><span id="L-385"><a href="#L-385"><span class="linenos" data-line="385"></span></a> <span class="kr">end</span> </span><span id="L-386"><a href="#L-386"><span class="linenos" data-line="386"></span></a> </span><span id="L-387"><a href="#L-387"><span class="linenos" data-line="387"></span></a> <span class="n">plain</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span> <span class="n">plain</span> <span class="p">)</span> </span><span id="L-388"><a href="#L-388"><span class="linenos" data-line="388"></span></a> </span><span id="L-389"><a href="#L-389"><span class="linenos" data-line="389"></span></a> <span class="kd">local</span> <span class="n">start</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">find</span><span class="p">(</span> <span class="n">source_str</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">start_pos</span><span class="p">,</span> <span class="n">plain</span> <span class="p">)</span> </span><span id="L-390"><a href="#L-390"><span class="linenos" data-line="390"></span></a> <span class="kr">if</span> <span class="n">start</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-391"><a href="#L-391"><span class="linenos" data-line="391"></span></a> <span class="n">start</span> <span class="o">=</span> <span class="mi">0</span> </span><span id="L-392"><a href="#L-392"><span class="linenos" data-line="392"></span></a> <span class="kr">end</span> </span><span id="L-393"><a href="#L-393"><span class="linenos" data-line="393"></span></a> </span><span id="L-394"><a href="#L-394"><span class="linenos" data-line="394"></span></a> <span class="kr">return</span> <span class="n">start</span> </span><span id="L-395"><a href="#L-395"><span class="linenos" data-line="395"></span></a><span class="kr">end</span> </span><span id="L-396"><a href="#L-396"><span class="linenos" data-line="396"></span></a> </span><span id="L-397"><a href="#L-397"><span class="linenos" data-line="397"></span></a><span class="cm">--[[</span> </span><span id="L-398"><a href="#L-398"><span class="linenos" data-line="398"></span></a><span class="cm">replace</span> </span><span id="L-399"><a href="#L-399"><span class="linenos" data-line="399"></span></a> </span><span id="L-400"><a href="#L-400"><span class="linenos" data-line="400"></span></a><span class="cm">This function allows one to replace a target string or pattern within another</span> </span><span id="L-401"><a href="#L-401"><span class="linenos" data-line="401"></span></a><span class="cm">string.</span> </span><span id="L-402"><a href="#L-402"><span class="linenos" data-line="402"></span></a> </span><span id="L-403"><a href="#L-403"><span class="linenos" data-line="403"></span></a><span class="cm">Usage:</span> </span><span id="L-404"><a href="#L-404"><span class="linenos" data-line="404"></span></a><span class="cm">{{#invoke:String|replace|source_str|pattern_string|replace_string|replacement_count|plain_flag}}</span> </span><span id="L-405"><a href="#L-405"><span class="linenos" data-line="405"></span></a><span class="cm">OR</span> </span><span id="L-406"><a href="#L-406"><span class="linenos" data-line="406"></span></a><span class="cm">{{#invoke:String|replace|source=source_string|pattern=pattern_string|replace=replace_string|</span> </span><span id="L-407"><a href="#L-407"><span class="linenos" data-line="407"></span></a><span class="cm"> count=replacement_count|plain=plain_flag}}</span> </span><span id="L-408"><a href="#L-408"><span class="linenos" data-line="408"></span></a> </span><span id="L-409"><a href="#L-409"><span class="linenos" data-line="409"></span></a><span class="cm">Parameters</span> </span><span id="L-410"><a href="#L-410"><span class="linenos" data-line="410"></span></a><span class="cm"> source: The string to search</span> </span><span id="L-411"><a href="#L-411"><span class="linenos" data-line="411"></span></a><span class="cm"> pattern: The string or pattern to find within source</span> </span><span id="L-412"><a href="#L-412"><span class="linenos" data-line="412"></span></a><span class="cm"> replace: The replacement text</span> </span><span id="L-413"><a href="#L-413"><span class="linenos" data-line="413"></span></a><span class="cm"> count: The number of occurences to replace, defaults to all.</span> </span><span id="L-414"><a href="#L-414"><span class="linenos" data-line="414"></span></a><span class="cm"> plain: Boolean flag indicating that pattern should be understood as plain</span> </span><span id="L-415"><a href="#L-415"><span class="linenos" data-line="415"></span></a><span class="cm"> text and not as a Lua style regular expression, defaults to true</span> </span><span id="L-416"><a href="#L-416"><span class="linenos" data-line="416"></span></a><span class="cm">]]</span> </span><span id="L-417"><a href="#L-417"><span class="linenos" data-line="417"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">replace</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-418"><a href="#L-418"><span class="linenos" data-line="418"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'source'</span><span class="p">,</span> <span class="s1">'pattern'</span><span class="p">,</span> <span class="s1">'replace'</span><span class="p">,</span> <span class="s1">'count'</span><span class="p">,</span> <span class="s1">'plain'</span> <span class="p">}</span> <span class="p">)</span> </span><span id="L-419"><a href="#L-419"><span class="linenos" data-line="419"></span></a> <span class="kd">local</span> <span class="n">source_str</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'source'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-420"><a href="#L-420"><span class="linenos" data-line="420"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'pattern'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-421"><a href="#L-421"><span class="linenos" data-line="421"></span></a> <span class="kd">local</span> <span class="n">replace</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'replace'</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-422"><a href="#L-422"><span class="linenos" data-line="422"></span></a> <span class="kd">local</span> <span class="n">count</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'count'</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-423"><a href="#L-423"><span class="linenos" data-line="423"></span></a> <span class="kd">local</span> <span class="n">plain</span> <span class="o">=</span> <span class="n">new_args</span><span class="p">[</span><span class="s1">'plain'</span><span class="p">]</span> <span class="ow">or</span> <span class="kc">true</span> </span><span id="L-424"><a href="#L-424"><span class="linenos" data-line="424"></span></a> </span><span id="L-425"><a href="#L-425"><span class="linenos" data-line="425"></span></a> <span class="kr">if</span> <span class="n">source_str</span> <span class="o">==</span> <span class="s1">''</span> <span class="ow">or</span> <span class="n">pattern</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-426"><a href="#L-426"><span class="linenos" data-line="426"></span></a> <span class="kr">return</span> <span class="n">source_str</span> </span><span id="L-427"><a href="#L-427"><span class="linenos" data-line="427"></span></a> <span class="kr">end</span> </span><span id="L-428"><a href="#L-428"><span class="linenos" data-line="428"></span></a> <span class="n">plain</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span> <span class="n">plain</span> <span class="p">)</span> </span><span id="L-429"><a href="#L-429"><span class="linenos" data-line="429"></span></a> </span><span id="L-430"><a href="#L-430"><span class="linenos" data-line="430"></span></a> <span class="kr">if</span> <span class="n">plain</span> <span class="kr">then</span> </span><span id="L-431"><a href="#L-431"><span class="linenos" data-line="431"></span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_escapePattern</span><span class="p">(</span> <span class="n">pattern</span> <span class="p">)</span> </span><span id="L-432"><a href="#L-432"><span class="linenos" data-line="432"></span></a> <span class="n">replace</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">gsub</span><span class="p">(</span> <span class="n">replace</span><span class="p">,</span> <span class="s2">"%%"</span><span class="p">,</span> <span class="s2">"%%%%"</span> <span class="p">)</span> <span class="c1">--Only need to escape replacement sequences.</span> </span><span id="L-433"><a href="#L-433"><span class="linenos" data-line="433"></span></a> <span class="kr">end</span> </span><span id="L-434"><a href="#L-434"><span class="linenos" data-line="434"></span></a> </span><span id="L-435"><a href="#L-435"><span class="linenos" data-line="435"></span></a> <span class="kd">local</span> <span class="n">result</span> </span><span id="L-436"><a href="#L-436"><span class="linenos" data-line="436"></span></a> </span><span id="L-437"><a href="#L-437"><span class="linenos" data-line="437"></span></a> <span class="kr">if</span> <span class="n">count</span> <span class="o">~=</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-438"><a href="#L-438"><span class="linenos" data-line="438"></span></a> <span class="n">result</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">gsub</span><span class="p">(</span> <span class="n">source_str</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">replace</span><span class="p">,</span> <span class="n">count</span> <span class="p">)</span> </span><span id="L-439"><a href="#L-439"><span class="linenos" data-line="439"></span></a> <span class="kr">else</span> </span><span id="L-440"><a href="#L-440"><span class="linenos" data-line="440"></span></a> <span class="n">result</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">gsub</span><span class="p">(</span> <span class="n">source_str</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="n">replace</span> <span class="p">)</span> </span><span id="L-441"><a href="#L-441"><span class="linenos" data-line="441"></span></a> <span class="kr">end</span> </span><span id="L-442"><a href="#L-442"><span class="linenos" data-line="442"></span></a> </span><span id="L-443"><a href="#L-443"><span class="linenos" data-line="443"></span></a> <span class="kr">return</span> <span class="n">result</span> </span><span id="L-444"><a href="#L-444"><span class="linenos" data-line="444"></span></a><span class="kr">end</span> </span><span id="L-445"><a href="#L-445"><span class="linenos" data-line="445"></span></a> </span><span id="L-446"><a href="#L-446"><span class="linenos" data-line="446"></span></a><span class="cm">--[[</span> </span><span id="L-447"><a href="#L-447"><span class="linenos" data-line="447"></span></a><span class="cm"> simple function to pipe string.rep to templates.</span> </span><span id="L-448"><a href="#L-448"><span class="linenos" data-line="448"></span></a><span class="cm">]]</span> </span><span id="L-449"><a href="#L-449"><span class="linenos" data-line="449"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">rep</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-450"><a href="#L-450"><span class="linenos" data-line="450"></span></a> <span class="kd">local</span> <span class="n">repetitions</span> <span class="o">=</span> <span class="nb">tonumber</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="p">)</span> </span><span id="L-451"><a href="#L-451"><span class="linenos" data-line="451"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">repetitions</span> <span class="kr">then</span> </span><span id="L-452"><a href="#L-452"><span class="linenos" data-line="452"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'function rep expects a number as second parameter, received "'</span> <span class="o">..</span> <span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">2</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span> <span class="p">)</span> <span class="o">..</span> <span class="s1">'"'</span> <span class="p">)</span> </span><span id="L-453"><a href="#L-453"><span class="linenos" data-line="453"></span></a> <span class="kr">end</span> </span><span id="L-454"><a href="#L-454"><span class="linenos" data-line="454"></span></a> <span class="kr">return</span> <span class="nb">string.rep</span><span class="p">(</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> <span class="ow">or</span> <span class="s1">''</span><span class="p">,</span> <span class="n">repetitions</span> <span class="p">)</span> </span><span id="L-455"><a href="#L-455"><span class="linenos" data-line="455"></span></a><span class="kr">end</span> </span><span id="L-456"><a href="#L-456"><span class="linenos" data-line="456"></span></a> </span><span id="L-457"><a href="#L-457"><span class="linenos" data-line="457"></span></a><span class="cm">--[[</span> </span><span id="L-458"><a href="#L-458"><span class="linenos" data-line="458"></span></a><span class="cm">escapePattern</span> </span><span id="L-459"><a href="#L-459"><span class="linenos" data-line="459"></span></a> </span><span id="L-460"><a href="#L-460"><span class="linenos" data-line="460"></span></a><span class="cm">This function escapes special characters from a Lua string pattern. See [1]</span> </span><span id="L-461"><a href="#L-461"><span class="linenos" data-line="461"></span></a><span class="cm">for details on how patterns work.</span> </span><span id="L-462"><a href="#L-462"><span class="linenos" data-line="462"></span></a> </span><span id="L-463"><a href="#L-463"><span class="linenos" data-line="463"></span></a><span class="cm">[1] https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#Patterns</span> </span><span id="L-464"><a href="#L-464"><span class="linenos" data-line="464"></span></a> </span><span id="L-465"><a href="#L-465"><span class="linenos" data-line="465"></span></a><span class="cm">Usage:</span> </span><span id="L-466"><a href="#L-466"><span class="linenos" data-line="466"></span></a><span class="cm">{{#invoke:String|escapePattern|pattern_string}}</span> </span><span id="L-467"><a href="#L-467"><span class="linenos" data-line="467"></span></a> </span><span id="L-468"><a href="#L-468"><span class="linenos" data-line="468"></span></a><span class="cm">Parameters</span> </span><span id="L-469"><a href="#L-469"><span class="linenos" data-line="469"></span></a><span class="cm"> pattern_string: The pattern string to escape.</span> </span><span id="L-470"><a href="#L-470"><span class="linenos" data-line="470"></span></a><span class="cm">]]</span> </span><span id="L-471"><a href="#L-471"><span class="linenos" data-line="471"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">escapePattern</span><span class="p">(</span> <span class="n">frame</span> <span class="p">)</span> </span><span id="L-472"><a href="#L-472"><span class="linenos" data-line="472"></span></a> <span class="kd">local</span> <span class="n">pattern_str</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span> </span><span id="L-473"><a href="#L-473"><span class="linenos" data-line="473"></span></a> <span class="kr">if</span> <span class="ow">not</span> <span class="n">pattern_str</span> <span class="kr">then</span> </span><span id="L-474"><a href="#L-474"><span class="linenos" data-line="474"></span></a> <span class="kr">return</span> <span class="n">str</span><span class="p">.</span><span class="n">_error</span><span class="p">(</span> <span class="s1">'No pattern string specified'</span> <span class="p">)</span> </span><span id="L-475"><a href="#L-475"><span class="linenos" data-line="475"></span></a> <span class="kr">end</span> </span><span id="L-476"><a href="#L-476"><span class="linenos" data-line="476"></span></a> <span class="kd">local</span> <span class="n">result</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_escapePattern</span><span class="p">(</span> <span class="n">pattern_str</span> <span class="p">)</span> </span><span id="L-477"><a href="#L-477"><span class="linenos" data-line="477"></span></a> <span class="kr">return</span> <span class="n">result</span> </span><span id="L-478"><a href="#L-478"><span class="linenos" data-line="478"></span></a><span class="kr">end</span> </span><span id="L-479"><a href="#L-479"><span class="linenos" data-line="479"></span></a> </span><span id="L-480"><a href="#L-480"><span class="linenos" data-line="480"></span></a><span class="cm">--[[</span> </span><span id="L-481"><a href="#L-481"><span class="linenos" data-line="481"></span></a><span class="cm">count</span> </span><span id="L-482"><a href="#L-482"><span class="linenos" data-line="482"></span></a><span class="cm">This function counts the number of occurrences of one string in another.</span> </span><span id="L-483"><a href="#L-483"><span class="linenos" data-line="483"></span></a><span class="cm">]]</span> </span><span id="L-484"><a href="#L-484"><span class="linenos" data-line="484"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">count</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-485"><a href="#L-485"><span class="linenos" data-line="485"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span><span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'source'</span><span class="p">,</span> <span class="s1">'pattern'</span><span class="p">,</span> <span class="s1">'plain'</span><span class="p">})</span> </span><span id="L-486"><a href="#L-486"><span class="linenos" data-line="486"></span></a> <span class="kd">local</span> <span class="n">source</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">source</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-487"><a href="#L-487"><span class="linenos" data-line="487"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">pattern</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-488"><a href="#L-488"><span class="linenos" data-line="488"></span></a> <span class="kd">local</span> <span class="n">plain</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span><span class="n">args</span><span class="p">.</span><span class="n">plain</span> <span class="ow">or</span> <span class="kc">true</span><span class="p">)</span> </span><span id="L-489"><a href="#L-489"><span class="linenos" data-line="489"></span></a> <span class="kr">if</span> <span class="n">plain</span> <span class="kr">then</span> </span><span id="L-490"><a href="#L-490"><span class="linenos" data-line="490"></span></a> <span class="n">pattern</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_escapePattern</span><span class="p">(</span><span class="n">pattern</span><span class="p">)</span> </span><span id="L-491"><a href="#L-491"><span class="linenos" data-line="491"></span></a> <span class="kr">end</span> </span><span id="L-492"><a href="#L-492"><span class="linenos" data-line="492"></span></a> <span class="kd">local</span> <span class="n">_</span><span class="p">,</span> <span class="n">count</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">gsub</span><span class="p">(</span><span class="n">source</span><span class="p">,</span> <span class="n">pattern</span><span class="p">,</span> <span class="s1">''</span><span class="p">)</span> </span><span id="L-493"><a href="#L-493"><span class="linenos" data-line="493"></span></a> <span class="kr">return</span> <span class="n">count</span> </span><span id="L-494"><a href="#L-494"><span class="linenos" data-line="494"></span></a><span class="kr">end</span> </span><span id="L-495"><a href="#L-495"><span class="linenos" data-line="495"></span></a> </span><span id="L-496"><a href="#L-496"><span class="linenos" data-line="496"></span></a><span class="cm">--[[</span> </span><span id="L-497"><a href="#L-497"><span class="linenos" data-line="497"></span></a><span class="cm">endswith</span> </span><span id="L-498"><a href="#L-498"><span class="linenos" data-line="498"></span></a><span class="cm">This function determines whether a string ends with another string.</span> </span><span id="L-499"><a href="#L-499"><span class="linenos" data-line="499"></span></a><span class="cm">]]</span> </span><span id="L-500"><a href="#L-500"><span class="linenos" data-line="500"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">endswith</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-501"><a href="#L-501"><span class="linenos" data-line="501"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="n">str</span><span class="p">.</span><span class="n">_getParameters</span><span class="p">(</span><span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">,</span> <span class="p">{</span><span class="s1">'source'</span><span class="p">,</span> <span class="s1">'pattern'</span><span class="p">})</span> </span><span id="L-502"><a href="#L-502"><span class="linenos" data-line="502"></span></a> <span class="kd">local</span> <span class="n">source</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">source</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-503"><a href="#L-503"><span class="linenos" data-line="503"></span></a> <span class="kd">local</span> <span class="n">pattern</span> <span class="o">=</span> <span class="n">args</span><span class="p">.</span><span class="n">pattern</span> <span class="ow">or</span> <span class="s1">''</span> </span><span id="L-504"><a href="#L-504"><span class="linenos" data-line="504"></span></a> <span class="kr">if</span> <span class="n">pattern</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-505"><a href="#L-505"><span class="linenos" data-line="505"></span></a> <span class="c1">-- All strings end with the empty string.</span> </span><span id="L-506"><a href="#L-506"><span class="linenos" data-line="506"></span></a> <span class="kr">return</span> <span class="s2">"yes"</span> </span><span id="L-507"><a href="#L-507"><span class="linenos" data-line="507"></span></a> <span class="kr">end</span> </span><span id="L-508"><a href="#L-508"><span class="linenos" data-line="508"></span></a> <span class="kr">if</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">sub</span><span class="p">(</span><span class="n">source</span><span class="p">,</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">len</span><span class="p">(</span><span class="n">pattern</span><span class="p">),</span> <span class="o">-</span><span class="mi">1</span><span class="p">)</span> <span class="o">==</span> <span class="n">pattern</span> <span class="kr">then</span> </span><span id="L-509"><a href="#L-509"><span class="linenos" data-line="509"></span></a> <span class="kr">return</span> <span class="s2">"yes"</span> </span><span id="L-510"><a href="#L-510"><span class="linenos" data-line="510"></span></a> <span class="kr">else</span> </span><span id="L-511"><a href="#L-511"><span class="linenos" data-line="511"></span></a> <span class="kr">return</span> <span class="s2">""</span> </span><span id="L-512"><a href="#L-512"><span class="linenos" data-line="512"></span></a> <span class="kr">end</span> </span><span id="L-513"><a href="#L-513"><span class="linenos" data-line="513"></span></a><span class="kr">end</span> </span><span id="L-514"><a href="#L-514"><span class="linenos" data-line="514"></span></a> </span><span id="L-515"><a href="#L-515"><span class="linenos" data-line="515"></span></a><span class="cm">--[[</span> </span><span id="L-516"><a href="#L-516"><span class="linenos" data-line="516"></span></a><span class="cm">join</span> </span><span id="L-517"><a href="#L-517"><span class="linenos" data-line="517"></span></a> </span><span id="L-518"><a href="#L-518"><span class="linenos" data-line="518"></span></a><span class="cm">Join all non empty arguments together; the first argument is the separator.</span> </span><span id="L-519"><a href="#L-519"><span class="linenos" data-line="519"></span></a><span class="cm">Usage:</span> </span><span id="L-520"><a href="#L-520"><span class="linenos" data-line="520"></span></a><span class="cm">{{#invoke:String|join|sep|one|two|three}}</span> </span><span id="L-521"><a href="#L-521"><span class="linenos" data-line="521"></span></a><span class="cm">]]</span> </span><span id="L-522"><a href="#L-522"><span class="linenos" data-line="522"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">join</span><span class="p">(</span><span class="n">frame</span><span class="p">)</span> </span><span id="L-523"><a href="#L-523"><span class="linenos" data-line="523"></span></a> <span class="kd">local</span> <span class="n">args</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-524"><a href="#L-524"><span class="linenos" data-line="524"></span></a> <span class="kd">local</span> <span class="n">sep</span> </span><span id="L-525"><a href="#L-525"><span class="linenos" data-line="525"></span></a> <span class="kr">for</span> <span class="n">_</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">frame</span><span class="p">.</span><span class="n">args</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-526"><a href="#L-526"><span class="linenos" data-line="526"></span></a> <span class="kr">if</span> <span class="n">sep</span> <span class="kr">then</span> </span><span id="L-527"><a href="#L-527"><span class="linenos" data-line="527"></span></a> <span class="kr">if</span> <span class="n">v</span> <span class="o">~=</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-528"><a href="#L-528"><span class="linenos" data-line="528"></span></a> <span class="nb">table.insert</span><span class="p">(</span><span class="n">args</span><span class="p">,</span> <span class="n">v</span><span class="p">)</span> </span><span id="L-529"><a href="#L-529"><span class="linenos" data-line="529"></span></a> <span class="kr">end</span> </span><span id="L-530"><a href="#L-530"><span class="linenos" data-line="530"></span></a> <span class="kr">else</span> </span><span id="L-531"><a href="#L-531"><span class="linenos" data-line="531"></span></a> <span class="n">sep</span> <span class="o">=</span> <span class="n">v</span> </span><span id="L-532"><a href="#L-532"><span class="linenos" data-line="532"></span></a> <span class="kr">end</span> </span><span id="L-533"><a href="#L-533"><span class="linenos" data-line="533"></span></a> <span class="kr">end</span> </span><span id="L-534"><a href="#L-534"><span class="linenos" data-line="534"></span></a> <span class="kr">return</span> <span class="nb">table.concat</span><span class="p">(</span> <span class="n">args</span><span class="p">,</span> <span class="n">sep</span> <span class="ow">or</span> <span class="s1">''</span> <span class="p">)</span> </span><span id="L-535"><a href="#L-535"><span class="linenos" data-line="535"></span></a><span class="kr">end</span> </span><span id="L-536"><a href="#L-536"><span class="linenos" data-line="536"></span></a> </span><span id="L-537"><a href="#L-537"><span class="linenos" data-line="537"></span></a><span class="cm">--[[</span> </span><span id="L-538"><a href="#L-538"><span class="linenos" data-line="538"></span></a><span class="cm">Helper function that populates the argument list given that user may need to use a mix of</span> </span><span id="L-539"><a href="#L-539"><span class="linenos" data-line="539"></span></a><span class="cm">named and unnamed parameters. This is relevant because named parameters are not</span> </span><span id="L-540"><a href="#L-540"><span class="linenos" data-line="540"></span></a><span class="cm">identical to unnamed parameters due to string trimming, and when dealing with strings</span> </span><span id="L-541"><a href="#L-541"><span class="linenos" data-line="541"></span></a><span class="cm">we sometimes want to either preserve or remove that whitespace depending on the application.</span> </span><span id="L-542"><a href="#L-542"><span class="linenos" data-line="542"></span></a><span class="cm">]]</span> </span><span id="L-543"><a href="#L-543"><span class="linenos" data-line="543"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_getParameters</span><span class="p">(</span> <span class="n">frame_args</span><span class="p">,</span> <span class="n">arg_list</span> <span class="p">)</span> </span><span id="L-544"><a href="#L-544"><span class="linenos" data-line="544"></span></a> <span class="kd">local</span> <span class="n">new_args</span> <span class="o">=</span> <span class="p">{}</span> </span><span id="L-545"><a href="#L-545"><span class="linenos" data-line="545"></span></a> <span class="kd">local</span> <span class="n">index</span> <span class="o">=</span> <span class="mi">1</span> </span><span id="L-546"><a href="#L-546"><span class="linenos" data-line="546"></span></a> <span class="kd">local</span> <span class="n">value</span> </span><span id="L-547"><a href="#L-547"><span class="linenos" data-line="547"></span></a> </span><span id="L-548"><a href="#L-548"><span class="linenos" data-line="548"></span></a> <span class="kr">for</span> <span class="n">_</span><span class="p">,</span> <span class="n">arg</span> <span class="kr">in</span> <span class="nb">ipairs</span><span class="p">(</span> <span class="n">arg_list</span> <span class="p">)</span> <span class="kr">do</span> </span><span id="L-549"><a href="#L-549"><span class="linenos" data-line="549"></span></a> <span class="n">value</span> <span class="o">=</span> <span class="n">frame_args</span><span class="p">[</span><span class="n">arg</span><span class="p">]</span> </span><span id="L-550"><a href="#L-550"><span class="linenos" data-line="550"></span></a> <span class="kr">if</span> <span class="n">value</span> <span class="o">==</span> <span class="kc">nil</span> <span class="kr">then</span> </span><span id="L-551"><a href="#L-551"><span class="linenos" data-line="551"></span></a> <span class="n">value</span> <span class="o">=</span> <span class="n">frame_args</span><span class="p">[</span><span class="n">index</span><span class="p">]</span> </span><span id="L-552"><a href="#L-552"><span class="linenos" data-line="552"></span></a> <span class="n">index</span> <span class="o">=</span> <span class="n">index</span> <span class="o">+</span> <span class="mi">1</span> </span><span id="L-553"><a href="#L-553"><span class="linenos" data-line="553"></span></a> <span class="kr">end</span> </span><span id="L-554"><a href="#L-554"><span class="linenos" data-line="554"></span></a> <span class="n">new_args</span><span class="p">[</span><span class="n">arg</span><span class="p">]</span> <span class="o">=</span> <span class="n">value</span> </span><span id="L-555"><a href="#L-555"><span class="linenos" data-line="555"></span></a> <span class="kr">end</span> </span><span id="L-556"><a href="#L-556"><span class="linenos" data-line="556"></span></a> </span><span id="L-557"><a href="#L-557"><span class="linenos" data-line="557"></span></a> <span class="kr">return</span> <span class="n">new_args</span> </span><span id="L-558"><a href="#L-558"><span class="linenos" data-line="558"></span></a><span class="kr">end</span> </span><span id="L-559"><a href="#L-559"><span class="linenos" data-line="559"></span></a> </span><span id="L-560"><a href="#L-560"><span class="linenos" data-line="560"></span></a><span class="cm">--[[</span> </span><span id="L-561"><a href="#L-561"><span class="linenos" data-line="561"></span></a><span class="cm">Helper function to handle error messages.</span> </span><span id="L-562"><a href="#L-562"><span class="linenos" data-line="562"></span></a><span class="cm">]]</span> </span><span id="L-563"><a href="#L-563"><span class="linenos" data-line="563"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_error</span><span class="p">(</span> <span class="n">error_str</span> <span class="p">)</span> </span><span id="L-564"><a href="#L-564"><span class="linenos" data-line="564"></span></a> <span class="kd">local</span> <span class="n">frame</span> <span class="o">=</span> <span class="n">mw</span><span class="p">.</span><span class="n">getCurrentFrame</span><span class="p">()</span> </span><span id="L-565"><a href="#L-565"><span class="linenos" data-line="565"></span></a> <span class="kd">local</span> <span class="n">error_category</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">error_category</span> <span class="ow">or</span> <span class="s1">'Errors reported by Module String'</span> </span><span id="L-566"><a href="#L-566"><span class="linenos" data-line="566"></span></a> <span class="kd">local</span> <span class="n">ignore_errors</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">ignore_errors</span> <span class="ow">or</span> <span class="kc">false</span> </span><span id="L-567"><a href="#L-567"><span class="linenos" data-line="567"></span></a> <span class="kd">local</span> <span class="n">no_category</span> <span class="o">=</span> <span class="n">frame</span><span class="p">.</span><span class="n">args</span><span class="p">.</span><span class="n">no_category</span> <span class="ow">or</span> <span class="kc">false</span> </span><span id="L-568"><a href="#L-568"><span class="linenos" data-line="568"></span></a> </span><span id="L-569"><a href="#L-569"><span class="linenos" data-line="569"></span></a> <span class="kr">if</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span><span class="n">ignore_errors</span><span class="p">)</span> <span class="kr">then</span> </span><span id="L-570"><a href="#L-570"><span class="linenos" data-line="570"></span></a> <span class="kr">return</span> <span class="s1">''</span> </span><span id="L-571"><a href="#L-571"><span class="linenos" data-line="571"></span></a> <span class="kr">end</span> </span><span id="L-572"><a href="#L-572"><span class="linenos" data-line="572"></span></a> </span><span id="L-573"><a href="#L-573"><span class="linenos" data-line="573"></span></a> <span class="kd">local</span> <span class="n">error_str</span> <span class="o">=</span> <span class="s1">'<strong class="error">String Module Error: '</span> <span class="o">..</span> <span class="n">error_str</span> <span class="o">..</span> <span class="s1">'</strong>'</span> </span><span id="L-574"><a href="#L-574"><span class="linenos" data-line="574"></span></a> <span class="kr">if</span> <span class="n">error_category</span> <span class="o">~=</span> <span class="s1">''</span> <span class="ow">and</span> <span class="ow">not</span> <span class="n">str</span><span class="p">.</span><span class="n">_getBoolean</span><span class="p">(</span> <span class="n">no_category</span> <span class="p">)</span> <span class="kr">then</span> </span><span id="L-575"><a href="#L-575"><span class="linenos" data-line="575"></span></a> <span class="n">error_str</span> <span class="o">=</span> <span class="s1">'[[Category:'</span> <span class="o">..</span> <span class="n">error_category</span> <span class="o">..</span> <span class="s1">']]'</span> <span class="o">..</span> <span class="n">error_str</span> </span><span id="L-576"><a href="#L-576"><span class="linenos" data-line="576"></span></a> <span class="kr">end</span> </span><span id="L-577"><a href="#L-577"><span class="linenos" data-line="577"></span></a> </span><span id="L-578"><a href="#L-578"><span class="linenos" data-line="578"></span></a> <span class="kr">return</span> <span class="n">error_str</span> </span><span id="L-579"><a href="#L-579"><span class="linenos" data-line="579"></span></a><span class="kr">end</span> </span><span id="L-580"><a href="#L-580"><span class="linenos" data-line="580"></span></a> </span><span id="L-581"><a href="#L-581"><span class="linenos" data-line="581"></span></a><span class="cm">--[[</span> </span><span id="L-582"><a href="#L-582"><span class="linenos" data-line="582"></span></a><span class="cm">Helper Function to interpret boolean strings</span> </span><span id="L-583"><a href="#L-583"><span class="linenos" data-line="583"></span></a><span class="cm">]]</span> </span><span id="L-584"><a href="#L-584"><span class="linenos" data-line="584"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_getBoolean</span><span class="p">(</span> <span class="n">boolean_str</span> <span class="p">)</span> </span><span id="L-585"><a href="#L-585"><span class="linenos" data-line="585"></span></a> <span class="kd">local</span> <span class="n">boolean_value</span> </span><span id="L-586"><a href="#L-586"><span class="linenos" data-line="586"></span></a> </span><span id="L-587"><a href="#L-587"><span class="linenos" data-line="587"></span></a> <span class="kr">if</span> <span class="nb">type</span><span class="p">(</span> <span class="n">boolean_str</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'string'</span> <span class="kr">then</span> </span><span id="L-588"><a href="#L-588"><span class="linenos" data-line="588"></span></a> <span class="n">boolean_str</span> <span class="o">=</span> <span class="n">boolean_str</span><span class="p">:</span><span class="n">lower</span><span class="p">()</span> </span><span id="L-589"><a href="#L-589"><span class="linenos" data-line="589"></span></a> <span class="kr">if</span> <span class="n">boolean_str</span> <span class="o">==</span> <span class="s1">'false'</span> <span class="ow">or</span> <span class="n">boolean_str</span> <span class="o">==</span> <span class="s1">'no'</span> <span class="ow">or</span> <span class="n">boolean_str</span> <span class="o">==</span> <span class="s1">'0'</span> </span><span id="L-590"><a href="#L-590"><span class="linenos" data-line="590"></span></a> <span class="ow">or</span> <span class="n">boolean_str</span> <span class="o">==</span> <span class="s1">''</span> <span class="kr">then</span> </span><span id="L-591"><a href="#L-591"><span class="linenos" data-line="591"></span></a> <span class="n">boolean_value</span> <span class="o">=</span> <span class="kc">false</span> </span><span id="L-592"><a href="#L-592"><span class="linenos" data-line="592"></span></a> <span class="kr">else</span> </span><span id="L-593"><a href="#L-593"><span class="linenos" data-line="593"></span></a> <span class="n">boolean_value</span> <span class="o">=</span> <span class="kc">true</span> </span><span id="L-594"><a href="#L-594"><span class="linenos" data-line="594"></span></a> <span class="kr">end</span> </span><span id="L-595"><a href="#L-595"><span class="linenos" data-line="595"></span></a> <span class="kr">elseif</span> <span class="nb">type</span><span class="p">(</span> <span class="n">boolean_str</span> <span class="p">)</span> <span class="o">==</span> <span class="s1">'boolean'</span> <span class="kr">then</span> </span><span id="L-596"><a href="#L-596"><span class="linenos" data-line="596"></span></a> <span class="n">boolean_value</span> <span class="o">=</span> <span class="n">boolean_str</span> </span><span id="L-597"><a href="#L-597"><span class="linenos" data-line="597"></span></a> <span class="kr">else</span> </span><span id="L-598"><a href="#L-598"><span class="linenos" data-line="598"></span></a> <span class="nb">error</span><span class="p">(</span> <span class="s1">'No boolean value found'</span> <span class="p">)</span> </span><span id="L-599"><a href="#L-599"><span class="linenos" data-line="599"></span></a> <span class="kr">end</span> </span><span id="L-600"><a href="#L-600"><span class="linenos" data-line="600"></span></a> <span class="kr">return</span> <span class="n">boolean_value</span> </span><span id="L-601"><a href="#L-601"><span class="linenos" data-line="601"></span></a><span class="kr">end</span> </span><span id="L-602"><a href="#L-602"><span class="linenos" data-line="602"></span></a> </span><span id="L-603"><a href="#L-603"><span class="linenos" data-line="603"></span></a><span class="cm">--[[</span> </span><span id="L-604"><a href="#L-604"><span class="linenos" data-line="604"></span></a><span class="cm">Helper function that escapes all pattern characters so that they will be treated</span> </span><span id="L-605"><a href="#L-605"><span class="linenos" data-line="605"></span></a><span class="cm">as plain text.</span> </span><span id="L-606"><a href="#L-606"><span class="linenos" data-line="606"></span></a><span class="cm">]]</span> </span><span id="L-607"><a href="#L-607"><span class="linenos" data-line="607"></span></a><span class="kr">function</span> <span class="nc">str</span><span class="p">.</span><span class="nf">_escapePattern</span><span class="p">(</span> <span class="n">pattern_str</span> <span class="p">)</span> </span><span id="L-608"><a href="#L-608"><span class="linenos" data-line="608"></span></a> <span class="kr">return</span> <span class="n">mw</span><span class="p">.</span><span class="n">ustring</span><span class="p">.</span><span class="n">gsub</span><span class="p">(</span> <span class="n">pattern_str</span><span class="p">,</span> <span class="s2">"([%(%)%.%%%+%-%*%?%[%^%$%]])"</span><span class="p">,</span> <span class="s2">"%%%1"</span> <span class="p">)</span> </span><span id="L-609"><a href="#L-609"><span class="linenos" data-line="609"></span></a><span class="kr">end</span> </span><span id="L-610"><a href="#L-610"><span class="linenos" data-line="610"></span></a> </span><span id="L-611"><a href="#L-611"><span class="linenos" data-line="611"></span></a><span class="kr">return</span> <span class="n">str</span> </span></pre></div> <!-- NewPP limit report Parsed by mw‐web.codfw.main‐f69cdc8f6‐ksxdk Cached time: 20241124042648 Cache expiry: 2592000 Reduced expiry: false Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 0.303 seconds Real time usage: 0.426 seconds Preprocessor visited node count: 1766/1000000 Post‐expand include size: 198402/2097152 bytes Template argument size: 2330/2097152 bytes Highest expansion depth: 15/100 Expensive parser function count: 6/500 Unstrip recursion depth: 0/20 Unstrip post‐expand size: 9405/5000000 bytes Lua time usage: 0.166/10.000 seconds Lua memory usage: 3164980/52428800 bytes Number of Wikibase entities loaded: 0/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 364.476 1 -total 100.00% 364.476 1 Bản_mẫu:Tài_liệu 80.44% 293.183 1 Mô_đun:String/tài_liệu 37.32% 136.025 1 Bản_mẫu:String_handling_templates 18.87% 68.783 1 Bản_mẫu:Used_in_system 13.90% 50.664 15 Bản_mẫu:Aligned_table 4.09% 14.907 1 Bản_mẫu:Div_col 3.27% 11.918 1 Bản_mẫu:Module_rating 2.76% 10.063 1 Bản_mẫu:Lmd 2.55% 9.296 1 Bản_mẫu:Ml --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Lấy từ “<a dir="ltr" href="https://vi.wikipedia.org/w/index.php?title=Mô_đun:String&oldid=64170482">https://vi.wikipedia.org/w/index.php?title=Mô_đun:String&oldid=64170482</a>”</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:Th%E1%BB%83_lo%E1%BA%A1i" title="Đặc biệt:Thể loại">Thể loại</a>: <ul><li><a href="/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:Modules_that_add_a_tracking_category&action=edit&redlink=1" class="new" title="Thể loại:Modules that add a tracking category (trang không tồn tại)">Modules that add a tracking category</a></li><li><a href="/w/index.php?title=Th%E1%BB%83_lo%E1%BA%A1i:Modules_that_manipulate_strings&action=edit&redlink=1" class="new" title="Thể loại:Modules that manipulate strings (trang không tồn tại)">Modules that manipulate strings</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Thể loại ẩn: <ul><li><a href="/wiki/Th%E1%BB%83_lo%E1%BA%A1i:Trang_b%E1%BB%8B_kh%C3%B3a_h%E1%BA%B3n" title="Thể loại:Trang bị khóa hẳn">Trang bị khóa hẳn</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"> Trang này được sửa đổi lần cuối vào ngày 22 tháng 12 năm 2020, 16:16.</li> <li id="footer-info-copyright">Văn bản được phát hành theo <a href="/wiki/Wikipedia:Nguy%C3%AAn_v%C4%83n_Gi%E1%BA%A5y_ph%C3%A9p_Creative_Commons_Ghi_c%C3%B4ng%E2%80%93Chia_s%E1%BA%BB_t%C6%B0%C6%A1ng_t%E1%BB%B1_phi%C3%AAn_b%E1%BA%A3n_4.0_Qu%E1%BB%91c_t%E1%BA%BF" title="Wikipedia:Nguyên văn Giấy phép Creative Commons Ghi công–Chia sẻ tương tự phiên bản 4.0 Quốc tế">Giấy phép Creative Commons Ghi công–Chia sẻ tương tự</a>; có thể áp dụng điều khoản bổ sung. Với việc sử dụng trang web này, bạn chấp nhận <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use/vi">Điều khoản Sử dụng</a> và <a class="external text" href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy/vi">Quy định quyền riêng tư</a>. Wikipedia® là thương hiệu đã đăng ký của <a rel="nofollow" class="external text" href="https://www.wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, một tổ chức phi lợi nhuận.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Quy định quyền riêng tư</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:Gi%E1%BB%9Bi_thi%E1%BB%87u">Giới thiệu Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:Ph%E1%BB%A7_nh%E1%BA%ADn_chung">Lời phủ nhận</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Bộ Quy tắc Ứng xử Chung</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Lập trình viên</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/vi.wikipedia.org">Thống kê</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Tuyên bố về cookie</a></li> <li id="footer-places-mobileview"><a href="//vi.m.wikipedia.org/w/index.php?title=M%C3%B4_%C4%91un:String&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Phiên bản di động</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-f69cdc8f6-ksxdk","wgBackendResponseTime":623,"wgPageParseReport":{"limitreport":{"cputime":"0.303","walltime":"0.426","ppvisitednodes":{"value":1766,"limit":1000000},"postexpandincludesize":{"value":198402,"limit":2097152},"templateargumentsize":{"value":2330,"limit":2097152},"expansiondepth":{"value":15,"limit":100},"expensivefunctioncount":{"value":6,"limit":500},"unstrip-depth":{"value":0,"limit":20},"unstrip-size":{"value":9405,"limit":5000000},"entityaccesscount":{"value":0,"limit":400},"timingprofile":["100.00% 364.476 1 -total","100.00% 364.476 1 Bản_mẫu:Tài_liệu"," 80.44% 293.183 1 Mô_đun:String/tài_liệu"," 37.32% 136.025 1 Bản_mẫu:String_handling_templates"," 18.87% 68.783 1 Bản_mẫu:Used_in_system"," 13.90% 50.664 15 Bản_mẫu:Aligned_table"," 4.09% 14.907 1 Bản_mẫu:Div_col"," 3.27% 11.918 1 Bản_mẫu:Module_rating"," 2.76% 10.063 1 Bản_mẫu:Lmd"," 2.55% 9.296 1 Bản_mẫu:Ml"]},"scribunto":{"limitreport-timeusage":{"value":"0.166","limit":"10.000"},"limitreport-memusage":{"value":3164980,"limit":52428800}},"cachereport":{"origin":"mw-web.codfw.main-f69cdc8f6-ksxdk","timestamp":"20241124042648","ttl":2592000,"transientcontent":false}}});});</script> </body> </html>