-
本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~ 编辑帮助:目录 • BWIKI反馈留言板
本WIKI编辑权限开放,欢迎收藏起来防止迷路,也希望有爱的小伙伴和我们一起编辑哟~ 编辑帮助:目录 • BWIKI反馈留言板
请假条:下周WIKI数据暂停更新3天(19日-21日),22日恢复更新。理由:站长要去考试,可能没人更新数据。望周知!
请选择语言:
模块:String
此模块的文档可以在模块:String/doc创建
local p = {}
-- 把原始分隔符(空格或任意空白)统一替换成用户指定的单字符
-- 用法 {{#invoke:String|replace|源字符串|模式|替换|次数|plain}}
-- 次数默认 nil(全部替换),plain 默认 true(不按正则处理)
function p.replace(frame)
local s = frame.args[1] or ''
local pattern = frame.args[2] or ''
local repl = frame.args[3] or ''
local n = tonumber(frame.args[4]) or nil
local plain = (frame.args[5] or 'true') ~= 'false' -- 默认当纯文本
-- 如果模式是 %s 就走正则,否则按用户给的 plain 开关
if pattern == '%s' then
plain = false
end
local result
if plain then
result = mw.ustring.gsub(s, pattern:gsub('([%.%+%-%*%?%[%]%^%$%(%)%%])', '%%%1'), repl, n)
else
result = mw.ustring.gsub(s, pattern, repl, n)
end
return result
end
-- 其余函数先留空,占坑以后补
function p.rep() return '' end
function p.escapePattern() return '' end
return p

沪公网安备 31011002002714 号