15.082
Bearbeitungen
(- p.list(), weil überflüssig) |
(splitAndStrip() nil handling) |
||
| (6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 68: | Zeile 68: | ||
-- if list has no content, table will be empty | -- if list has no content, table will be empty | ||
delimiter = delimiter or " " | delimiter = delimiter or " " | ||
s = s .. delimiter | s = (s or "") .. delimiter | ||
local result = {} | local result = {} | ||
local start = 1 | local start = 1 | ||
| Zeile 83: | Zeile 83: | ||
-- mw.logObject(result) | -- mw.logObject(result) | ||
return result | return result | ||
end | |||
function p.bracketSplitAndStrip(s) | |||
-- scheidet einen geklammerten String am Anfang und am Ende ab | |||
-- Beispiel: "( a ) b (c)" ergibt "( a )", "b", "(c)" | |||
local s_pre_bracket = "" | |||
local s_post_bracket = "" | |||
-- Klammerung am Anfang | |||
local bracket_open = string.find(s, "%(") | |||
local bracket_close = string.find(s, "%)") | |||
if bracket_open == 1 and bracket_close ~= nil then | |||
s_pre_bracket = string.sub(s, bracket_open, bracket_close) | |||
s = p.strip(string.sub(s, bracket_close+1)) | |||
end | |||
-- Klammerung am Ende | |||
bracket_open = string.find(s, "%([^%(]*$") | |||
bracket_close = string.find(s, "%)[^%)]*$") | |||
if bracket_open ~= nil and bracket_close == string.len(s) then | |||
s_post_bracket = string.sub(s, bracket_open, bracket_close) | |||
s = p.strip(string.sub(s, 1, bracket_open-1)) | |||
end | |||
return s_pre_bracket, s, s_post_bracket | |||
end | end | ||
return p | return p | ||