• 欢迎来到THBWiki!如果您是第一次来到这里,请点击右上角注册一个帐户
  • 有任何意见、建议、求助、反馈都可以在 讨论板 提出
  • THBWiki以专业性和准确性为目标,如果你发现了任何确定的错误或疏漏,可在登录后直接进行改正

模块:string

Da THBWiki.
Jump to navigation Jump to search
[创建] Template-info.svg 模块文档
local p = {}
local libstr = require('Module:libstr')
local libargs = require('Module:libargs')

function p.debugfunc(frame)
    if frame.args[1] == nil then
        return 0
    end
	local text = frame.args[1]
    return mw.ustring.len(p.removeNowiki(text))
end

function p.removeNowiki(text)
	text = mw.ustring.gsub(text,"\127\'\"`UNIQ%-%-.-QINU`\"\'\127", "")
	text = mw.ustring.gsub(text, "<nowiki>[%s%S]-</nowiki>", "")
    return text
end

function p.strip(frame)
    if frame.args[1] == nil then
        return '缺少参数'
    end
    local text = frame.args[1]
    return libstr.strip(text)
end

function p.plain(frame)
    if frame.args[1] == nil then
        return '缺少参数'
    end
    local text = libstr.strip(frame.args[1])
    return (mw.ustring.gsub(text,'[\r\n]',''))
end

function p.len(frame)
    if frame.args[1] == nil then
        return 0
    end
    local text = frame.args[1]
    return mw.ustring.len(text)
end

function p.lens(frame)
    if frame.args[1] == nil then
        return 0
    end
    local text = mw.text.trim(frame.args[1])
    return mw.ustring.len(p.removeNowiki(text))
end

function p.padleft(frame)
    return libstr.padLeft(frame.args[1], frame.args[2], frame.args[3])
end

function p.padlefts(frame)
    local args = libargs.typed(frame.args, {'str', 'int', 'str'})
    return libargs.inject(libstr.padLeft, args)
end

function p.padright(frame)
    return libstr.padRight(frame.args[1], frame.args[2], frame.args[3])
end

function p.padrights(frame)
    local args = libargs.typed(frame.args, {'str', 'int', 'str'})
    return libargs.inject(libstr.padRight, args)
end

return p