2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

Module:Sandbox/Func/化学方程式

萌娘百科,万物皆可萌的百科全书!转载请标注来源页面的网页链接,并声明引自萌娘百科。内容不可商用。
跳转到导航 跳转到搜索
Template-info.svg 模块文档  [创建] [刷新]
local p = {}

function trim(s)
	return (string.gsub(s,"^%s*(.-)%s*$","%1"));
end

-- 参考 模块:长标题
local function len(a)
	local rlt = 0;
	a=string.gsub(trim(a),"<.->","")
	a=string.gsub(trim(a),"\127'\"`UNIQ%-%-templatestyles%-%x+%-QINU`\"'\127","")
	for i = 1, mw.ustring.len(a) do
		local char = mw.ustring.sub(a, i, i);
		local charnum = mw.ustring.byte(char);
		if (charnum > 33 and charnum < 126) 
				or char == '{'
				or char == '}'
				or char == ' ' then
			rlt = rlt + 0.5;
		elseif char == '\n'
				or char == '\t' then
			-- do nothing
		else
			rlt = rlt + 1;
		end
	end
	return rlt;
end

p['len'] = function(frame)
    local str = frame.args[1]
    return len(str)
end

return p