Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Module:AeroWikiListTools: Difference between revisions

From Aeronautica Official Wiki
Sqwishyish (talk | contribs)
m Added comma detection for the end of the string.
Sqwishyish (talk | contribs)
m added whitespaces between commas
Line 21: Line 21:


     for split in string.gmatch(input_string , '([^,]+)') do
     for split in string.gmatch(input_string , '([^,]+)') do
         new_string = new_string .. template:gsub('{split}', split:match('^%s*(.-)%s*$'))
         new_string = new_string .. template:gsub('{split}', split:match('^%s*(.-)%s*$')) .. ' '
     end
     end
   
    mw.log(template:sub(-1))
      
      
     if template:sub(-1) == ',' then
     if template:sub(-1) == ',' then
     new_string = new_string:sub(1, -2)
     new_string = new_string:sub(1, -3)
     elseif template:sub(-2) == ', ' then
     elseif template:sub(-2) == ', ' then
     new_string = new_string:sub(1, -3)
     new_string = new_string:sub(1, -4)
     end
     end
      
      

Revision as of 07:43, 29 April 2025

Documentation for this module may be created at Module:AeroWikiListTools/doc

local getArgs = require('Module:Arguments').getArgs

local p = {}

local function makeInvokeFunc(funcName)
	return function (frame)
		local args = getArgs(frame)
		return p[funcName](args)
	end
end

p.split_list = makeInvokeFunc('_split_list')
p._split_list = function (args)
	local input_string = args[1]
	local template = args[2]
    local new_string = ''
    
    if type(input_string) == table then
		input_string = table.concat(input_string, '')
    end

    for split in string.gmatch(input_string , '([^,]+)') do
        new_string = new_string .. template:gsub('{split}', split:match('^%s*(.-)%s*$')) .. ' '
    end
    
    if template:sub(-1) == ',' then
    	new_string = new_string:sub(1, -3)
    elseif template:sub(-2) == ', ' then
    	new_string = new_string:sub(1, -4)
    end
    
    return new_string
end
return p
Cookies help us deliver our services. By using our services, you agree to our use of cookies.