Modul:str

Wiktionary saytından

Bu modulun sənədləşdirmə səhifəsi Modul:str/doc səhifəsində yaradıla bilər

local p = {}

function p.len(frame)
    local string = frame.args[1] or ''
    return mw.ustring.len(mw.text.trim(string))
end

function p.sub(frame)
    local args = frame.args
    local string = args[1] or ''
    local start = (tonumber(args[2]) or 0) + 1
    local length = tonumber(args[3]) or 0
    if length <= 0 then return ''
    else
        return mw.ustring.sub(mw.text.trim(string), start, start + length - 1)
    end
end

function p.find(frame)
    local args = frame.args
    local first, last = mw.ustring.find(mw.text.trim(args[1]),
                                        mw.text.trim(args[2]),
                                        1, true)
    if first and first <= last then return first
    else return ''
    end
end

function p.char(frame)
    return mw.ustring.char(frame.args[1])
end

function p.codepoint(frame)
    return mw.ustring.codepoint(frame.args[1])
end

function p.gsub(frame)
	return (mw.ustring.gsub(frame.args[1], frame.args[2], frame.args[3]))
end

function p.alphanum(frame)
	local str = mw.ustring.toNFD(frame.args[1] or "")
	str = mw.ustring.gsub(str, "[^a-zA-Z0-9 ]", "")
	return str
end

function p.sans_balise(frame)
	local str = frame.args[1] or ""
	str = mw.ustring.gsub(str, "<[^>]*>", "")
	str = mw.ustring.gsub(str, "'''?", "")
	return str
end

return p