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

local libstr = {}
function libstr.sub(str)
str = mw.text.unstrip(str)
str = mw.text.trim(str)
return str
end
function libstr.join(list,rep)
if rep == nil then
rep = ','
end
local result = ''
for i=1,#list do
result = result .. list[i]
if i ~= #list then
result = result .. rep
end
end
return result
end
function libstr.strip(str)
str = mw.text.unstrip(str)
str = mw.text.trim(str)
return str
end
function libstr.split(str, reps)
local resultStrList = {}
mw.ustring.gsub(str,'[^'..reps..']+',function (w)
table.insert(resultStrList,w)
end)
return resultStrList
end
local function getChar(char, default)
if char == nil then return default end
local charStr = tostring(char)
if mw.ustring.len(charStr) < 1 then return default end
return mw.ustring.sub(charStr, 1, 1)
end
function libstr.padLeft(str, len, char)
if len == nil then
return str
end
len = tonumber(len)
local currentLen = mw.ustring.len(str)
if currentLen >= len then return str end
local default = type(tonumber(str)) == "number" and '0' or ' '
char = char or default
local remainLen = len - currentLen
local times = math.floor(remainLen / mw.ustring.len(char)) + 1
local newStr = mw.ustring.rep(char, times)
local newLen = mw.ustring.len(newStr)
local newSub = mw.ustring.sub(newStr, 1, remainLen-newLen-1)
return newSub .. str
end
function libstr.padRight(str, len, char)
if len == nil then
return str
end
len = tonumber(len)
local currentLen = mw.ustring.len(str)
if currentLen >= len then return str end
local default = type(tonumber(str)) == "number" and '0' or ' '
char = char or default
local remainLen = len - currentLen
local times = math.floor(remainLen / mw.ustring.len(char)) + 1
str = str .. mw.ustring.rep(char, times)
return mw.ustring.sub(str, 1, len)
end
return libstr