Module:Str test:修订间差异
跳转到导航
跳转到搜索
已更改“模块:Str test”的保护等级:极高使用量模板/模块 ([编辑=仅允许管理员](无限期)[移动=仅允许管理员](无限期)) |
小 导入1个版本:搬运自萌娘百科,依CC BY-NC-SA 3.0 CN导入 |
(没有差异)
|
2025年9月11日 (四) 16:47的最新版本
此模块的文档可以在Module:Str test/doc创建
local module = {}
function module.main(frame)
local args = frame.args
local str = args[1]
local ptn = mw.text.decode(mw.text.unstripNoWiki(args[2]))
if mw.ustring.find(str, ptn) == nil
then return ''
else return 1 end
end
function module.MultiMatch(frame)
local parent = frame:getParent()
if parent and parent:getTitle() == "Template:Str substr" then
frame = parent
end
local args = frame.args
local str = args[1]
local result = ""
local i = 2
while(frame.args[i])do
local ptn = mw.text.decode(mw.text.unstripNoWiki(args[i]))
local found = mw.ustring.match(str, ptn)
result = result .. (found and "1" or "0")
i = i+1
end
return result
end
function module.Switch(frame)
local parent = frame:getParent()
if parent and parent:getTitle() == "Template:Str switch" then
frame = parent
end
local str = frame.args[1]
for key, value in pairs(frame.args) do
if type(key) == "string" and key ~= "#default" then
local ptn = mw.text.decode(mw.text.trim(mw.text.unstripNoWiki(value)))
if ptn ~= "" and mw.ustring.match(str, ptn) then
return key
end
end
end
return frame.args["#default"] or ""
end
return module