Modul:Chronik/Work: Unterschied zwischen den Versionen
Aus FürthWiki
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 4: | Zeile 4: | ||
function p.dateParser(s, year) | function p.dateParser(s, year) | ||
dates = p.split(s, "-") | dates = p.split(s, "-") | ||
-- Wenn splitten mit "-" nur ein Ergebnis bringt, splitte mit "bis" | |||
if len(dates) == 1 then | if len(dates) == 1 then | ||
dates = p.split(s, "bis") | dates = p.split(s, "bis") | ||
end | |||
-- Alle Leerzeichen links und rechts in den Ergebnissen entfernen | |||
for i, value in ipairs(dates) do | |||
dates[i] = strip(dates[i]) | |||
end | end | ||
| Zeile 41: | Zeile 46: | ||
end | end | ||
for _, value in ipairs(result) do | --for _, value in ipairs(result) do | ||
-- mw.log(value) -- oder print(value), wenn du es direkt in der Konsole sehen möchtest | |||
end | --end | ||
return result | return result | ||
end | end | ||
return p | return p | ||
Version vom 22. August 2025, 21:03 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, "-")
-- Wenn splitten mit "-" nur ein Ergebnis bringt, splitte mit "bis"
if len(dates) == 1 then
dates = p.split(s, "bis")
end
-- Alle Leerzeichen links und rechts in den Ergebnissen entfernen
for i, value in ipairs(dates) do
dates[i] = strip(dates[i])
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