<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://wiki.ecisr.cc/index.php?action=history&amp;feed=atom&amp;title=Module%3AReplacePlus</id>
	<title>Module:ReplacePlus - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.ecisr.cc/index.php?action=history&amp;feed=atom&amp;title=Module%3AReplacePlus"/>
	<link rel="alternate" type="text/html" href="https://wiki.ecisr.cc/index.php?title=Module:ReplacePlus&amp;action=history"/>
	<updated>2026-10-27T15:37:10Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://wiki.ecisr.cc/index.php?title=Module:ReplacePlus&amp;diff=109&amp;oldid=prev</id>
		<title>W：​创建页面，内容为“local module = {}  local getArgs = require(&#039;Module:Arguments&#039;).getArgs  function _main(args, frame) 	local str = args[&#039;str&#039;] or args[1] or &#039;&#039; 	local ptn = args[&#039;ptn&#039;] or args[2] or &#039;&#039; 	ptn = mw.text.decode(mw.text.unstripNoWiki(ptn)) 	local replace = args[&#039;rep&#039;] or args[3] or &#039;&#039; 	local split = args[&#039;spl&#039;] or args[4] or &#039;、&#039; 	local limit = args[&#039;lim&#039;] or args[5] or &#039;false&#039; 	local origin = tonumber(args[&#039;ori&#039;] or args[6] or 1) 	local noprint = args[&#039;noprint&#039;] or…”</title>
		<link rel="alternate" type="text/html" href="https://wiki.ecisr.cc/index.php?title=Module:ReplacePlus&amp;diff=109&amp;oldid=prev"/>
		<updated>2023-04-01T16:25:10Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“local module = {}  local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs  function _main(args, frame) 	local str = args[&amp;#039;str&amp;#039;] or args[1] or &amp;#039;&amp;#039; 	local ptn = args[&amp;#039;ptn&amp;#039;] or args[2] or &amp;#039;&amp;#039; 	ptn = mw.text.decode(mw.text.unstripNoWiki(ptn)) 	local replace = args[&amp;#039;rep&amp;#039;] or args[3] or &amp;#039;&amp;#039; 	local split = args[&amp;#039;spl&amp;#039;] or args[4] or &amp;#039;、&amp;#039; 	local limit = args[&amp;#039;lim&amp;#039;] or args[5] or &amp;#039;false&amp;#039; 	local origin = tonumber(args[&amp;#039;ori&amp;#039;] or args[6] or 1) 	local noprint = args[&amp;#039;noprint&amp;#039;] or…”&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local module = {}&lt;br /&gt;
&lt;br /&gt;
local getArgs = require(&amp;#039;Module:Arguments&amp;#039;).getArgs&lt;br /&gt;
&lt;br /&gt;
function _main(args, frame)&lt;br /&gt;
	local str = args[&amp;#039;str&amp;#039;] or args[1] or &amp;#039;&amp;#039;&lt;br /&gt;
	local ptn = args[&amp;#039;ptn&amp;#039;] or args[2] or &amp;#039;&amp;#039;&lt;br /&gt;
	ptn = mw.text.decode(mw.text.unstripNoWiki(ptn))&lt;br /&gt;
	local replace = args[&amp;#039;rep&amp;#039;] or args[3] or &amp;#039;&amp;#039;&lt;br /&gt;
	local split = args[&amp;#039;spl&amp;#039;] or args[4] or &amp;#039;、&amp;#039;&lt;br /&gt;
	local limit = args[&amp;#039;lim&amp;#039;] or args[5] or &amp;#039;false&amp;#039;&lt;br /&gt;
	local origin = tonumber(args[&amp;#039;ori&amp;#039;] or args[6] or 1)&lt;br /&gt;
	local noprint = args[&amp;#039;noprint&amp;#039;] or false&lt;br /&gt;
	&lt;br /&gt;
	str = mw.ustring.sub(str, origin)&lt;br /&gt;
	&lt;br /&gt;
	local captures = {}&lt;br /&gt;
	local result, count = &amp;#039;&amp;#039;&lt;br /&gt;
	&lt;br /&gt;
	if string.find(limit, &amp;#039;%d+&amp;#039;) then&lt;br /&gt;
		limit = tonumber(limit)&lt;br /&gt;
		result, count = mw.ustring.gsub(str, ptn, function(s)&lt;br /&gt;
			captures[#captures + 1] = s&lt;br /&gt;
			return s&lt;br /&gt;
		end, limit)&lt;br /&gt;
		result = mw.ustring.gsub(str, ptn, replace, limit)		&lt;br /&gt;
	else&lt;br /&gt;
		result, count = mw.ustring.gsub(str, ptn, function(s)&lt;br /&gt;
			captures[#captures + 1] = s&lt;br /&gt;
			return s&lt;br /&gt;
		end)&lt;br /&gt;
		result = mw.ustring.gsub(str, ptn, replace)		&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	frame:callParserFunction(&amp;#039;#vardefine&amp;#039;, &amp;#039;result.capture&amp;#039;, table.concat(captures, split))&lt;br /&gt;
	frame:callParserFunction(&amp;#039;#vardefine&amp;#039;, &amp;#039;result.count&amp;#039;, count)&lt;br /&gt;
	&lt;br /&gt;
	if noprint ~= &amp;#039;true&amp;#039; then&lt;br /&gt;
		return result		&lt;br /&gt;
	else&lt;br /&gt;
		frame:callParserFunction(&amp;#039;#vardefine&amp;#039;, &amp;#039;result&amp;#039;, result)&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.main(frame)&lt;br /&gt;
	local args = getArgs(frame)&lt;br /&gt;
	return _main(args, frame)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function module.multi(frame)&lt;br /&gt;
	local args = getArgs(frame, { warppers = &amp;#039;Template:Str_replace_multi&amp;#039; } )&lt;br /&gt;
	local text = args[1] or &amp;#039;&amp;#039;&lt;br /&gt;
	local done = {}&lt;br /&gt;
	if args[2] then&lt;br /&gt;
		local sort = mw.text.split(mw.ustring.gsub(args[2], &amp;#039;|+&amp;#039;, &amp;#039;|&amp;#039;), &amp;#039;|&amp;#039;)&lt;br /&gt;
		while sort[#sort] == &amp;#039;&amp;#039; do&lt;br /&gt;
			table.remove(sort, #sort)&lt;br /&gt;
		end&lt;br /&gt;
		for _, key in ipairs(sort) do&lt;br /&gt;
			if key ~= 1 and key ~= 2 then&lt;br /&gt;
				text = mw.ustring.gsub(text, key, args[key])&lt;br /&gt;
			end&lt;br /&gt;
			done[key] = true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- 允许对顺序不依赖的情况直接使用模块&lt;br /&gt;
	for key, val in pairs(args) do&lt;br /&gt;
		if not done[key] and key ~= 1 and key ~= 2 then&lt;br /&gt;
			text = mw.ustring.gsub(text, key, val)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return text&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return module&lt;/div&gt;</summary>
		<author><name>W</name></author>
	</entry>
</feed>