Modul:Chronik/Work: Unterschied zwischen den Versionen

Aus FürthWiki
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
local p = {}
local p = {}
local c = require("Modul:Common")


function p.dateParser(s, year)
function p.dateParser(s, year)
dates = p.split(s, "-")
if len(dates) == 1 then
dates = p.split(s, "bis")
end
for _, value in ipairs(dates) do
    mw.log(value)  -- oder print(value), wenn du es direkt in der Konsole sehen möchtest
end
return s, year
return s, year
end
function p.replace(s, old, new, count)
    local result
    -- Wenn count angegeben ist, wird string.gsub mit dem limitierten Ersetzungszähler verwendet
    if count then
    result = string.gsub(s, old, new, count)
    else
        -- Wenn kein count angegeben ist, wird string.gsub alle Vorkommen ersetzen
        result = string.gsub(s, old, new)
    end
    return result
end
end



Version vom 22. August 2025, 20:59 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Chronik/Work/Doku erstellt werden

local p = {}
local c = require("Modul:Common")

function p.dateParser(s, year)
	dates = p.split(s, "-")
	if len(dates) == 1 then
		dates = p.split(s, "bis")
	end
	
	for _, value in ipairs(dates) do
    	mw.log(value)  -- oder print(value), wenn du es direkt in der Konsole sehen möchtest
	end
	return s, year
end

function p.replace(s, old, new, count)
    local result
    -- Wenn count angegeben ist, wird string.gsub mit dem limitierten Ersetzungszähler verwendet
    if count then
    	result = string.gsub(s, old, new, count)
    else
        -- Wenn kein count angegeben ist, wird string.gsub alle Vorkommen ersetzen
        result = string.gsub(s, old, new)
    end
    return result
end

function p.split(s, d)
	-- Endlich ein split, das funktioniert!
    local result = {}
    
    -- Wir ersetzen das Trennzeichen d mit einem einzigartigen Token, aber entfernen es später
    local modified_input = string.gsub(s, d, "|")  -- Ersetze "bis" mit "|" (Marker für Split)
    
    -- Teile den String an den Markern und füge die Ergebnisse in die Tabelle ein
    for match in string.gmatch(modified_input, "([^|]+)") do
        -- Füge jedes Element in das Resultat ein, nur wenn es nicht leer ist
        if match ~= "" then
            table.insert(result, match)
        end
    end
    
    for _, value in ipairs(result) do
    	mw.log(value)  -- oder print(value), wenn du es direkt in der Konsole sehen möchtest
	end
    return result
end
return p