模块:Utils/String

来自「荏苒之境」
Sicusa留言 | 贡献2025年8月12日 (二) 00:13的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

此模块的文档可以在模块:Utils/String/doc创建

local utils = {}

utils.trim = function(str)
	local res = string.gsub(str, "^%s*(.-)%s*$", "%1")
	return res
end

utils.split = function(str, sep)
	if sep == nil then
		sep = "%s"
	end
	local t = {}
	for str in string.gmatch(str, "([^"..sep.."]+)") do
		table.insert(t, str)
	end
	return t
end

utils.unword = function(str)
	local t = {}
	for str in string.gmatch(str, "([^%s]+)") do
		table.insert(t, str)
	end
	return t
end

utils.match_xml_noattr = function(str, tag)
	local res = string.match(str, "<"..tag..">(.-)</"..tag..">")
	return res
end

utils.sub_xml_noattr = function(str, tag, rep)
	local res = string.gsub(str, "<"..tag..">(.-)</"..tag..">", rep)
	return res
end

utils.expand_xml_noattr = function(str, tag)
	return utils.sub_xml_noattr(str, tag, "%1")
end

return utils