Vorlagenprogrammierung | Diskussionen | Lua | Unterseiten | ||
Modul | Deutsch
|
Modul: | Dokumentation |
Diese Seite enthält Code in der Programmiersprache Lua. Einbindungszahl Cirrus
local p = {}
function p.convert(frame)
-- Lese Parameter
local adresse = frame.args[1]
-- Ermittle die Gesamtlänge des Strings
local adresslaenge = mw.ustring.len(adresse)
-- Finde heraus, wo die Hausnummer beginnt (=erstes Auftreten einer Ziffer)
local nummernstart = mw.ustring.find(adresse, '%d')
-- Extrahiere den Straßennamen
local strasse = mw.ustring.sub(adresse,1,nummernstart-1)
-- Extrahiere die Hausnummer
local hausnummer = mw.ustring.sub(adresse,nummernstart,adresslaenge)
-- Ermittle die Länge der Hausnummer
local ziffernzahl = mw.ustring.len(hausnummer)
-- Gebe den SortKey zurück, ergänze dabei die Hausnummer mit 0en auf 5 Stellen
return strasse .. mw.ustring.rep('0',5-ziffernzahl) .. hausnummer
end
return p