查看“模块:TextUtil”的源代码
←
模块:TextUtil
跳转至:
导航
、
搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
local util_table = require('Module:TableUtil') -- Source for gsplit, split, and trim: https://phabricator.wikimedia.org/diffusion/ELUA/browse/master/includes/engines/LuaCommon/lualib/mw.text.lua local p = {} function p.gsplit( text, pattern, plain ) if not pattern then pattern = '%s*,%s*' end local s, l = 1, text:len() return function () if s then local e, n = text:find( pattern, s, plain ) local ret if not e then ret = text:sub( s ) s = nil elseif n < e then -- Empty separator! ret = text:sub( s, e ) if e < l then s = e + 1 else s = nil end else ret = e > s and text:sub( s, e - 1 ) or '' s = n + 1 end return ret end end, nil, nil end function p.splitNonempty(text, pattern, plain) if text == '' then return {} end return p.split(text, pattern, plain) end function p.splitOrNil(text, pattern, plain) if text == '' or not text then return nil end return p.split(text, pattern, plain) end function p.split(text, pattern, plain) if not text then return {} end local ret = {} for m in p.gsplit(text, pattern, plain) do ret[#ret+1] = m end return ret end function p.trim( s, charset ) charset = charset or '\t\r\n\f ' s = s:gsub( '^[' .. charset .. ']*(.-)[' .. charset .. ']*$', '%1' ) return s end function p.escape(link) link = link or '' -- because of gsub not letting you have - unescaped link = string.gsub(link,'%-','%%%-') link = string.gsub(link,'%(','%%%(') link = string.gsub(link,'%)','%%%)') link = string.gsub(link,'%+','%%%+') return link end function p.escapeCustom(link, tbl) for k, v in pairs(tbl) do link = link:gsub(k, v) end return link end function p.nextLetter(char) return string.char(char:byte() + 1) end function p.extLink(link, text) if link == '' then link = nil end if not link then return end return ('[%s %s]'):format(link, text or 'Link') end function p.intLink(link, text) if link == '' then link = nil end if not link and not text then return end return ('[[%s|%s]]'):format(link or text, text or 'Link') end function p.link(link, text) if link:find('http') then return p.extLink(link, text) else return p.intLink(link, text) end end function p.extLinkOrText(link, text) if link == '' then link = nil end if not link then return text end return ('[%s %s]'):format(link, text or link) end function p.intLinkOrText(link, text) if link == '' then link = nil end if not link then return text end return ('[[%s|%s]]'):format(link, text or link) end function p.linkOrText(link, text) if link:find('http') then return p.extLinkOrText(link, text) else return p.intLinkOrText(link, text) end end function p.ucFirstOnly(str) if not str then return end return mw.getLanguage('en'):ucfirst(str:lower()) end function p.ucfirst(str) if not str then return end return mw.getLanguage('en'):ucfirst(str) end function p.lcfirst(str) if not str then return end return mw.getLanguage('en'):lcfirst(str) end function p.ucfirstMap(str, sep) local tbl = p.split(str, sep) return util_table.concat(tbl, sep, p.ucfirst) end function p.lcfirstMap(str, sep) local tbl = p.split(str, sep) return util_table.concat(tbl, sep, p.lcfirst) end function p.possessive(str) if str:find('s$') then return str .. "'" end return str .. "'s" end return p
该页面使用的模板:
模块:TextUtil/doc
(
查看源代码
)
返回至
模块:TextUtil
。
导航菜单
个人工具
登录
名字空间
模块
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
随机页面
最近更改
最新文件
常用
上传多个文件
工具
链入页面
相关更改
特殊页面
页面信息