|
|
| Zeile 105: |
Zeile 105: |
| end | | end |
| return s_pre_bracket, s, s_post_bracket | | return s_pre_bracket, s, s_post_bracket |
| end
| |
|
| |
| function p.maxWordLen(s, dlist)
| |
| -- returns the maximum word length of a string
| |
| dlist = dlist or " " -- delimiter chars, default " " (space only)
| |
| local max_word_len = 0
| |
| s = p.strip(s)
| |
| s_len = mw.ustring.len(s)
| |
| if s_len > 0 then
| |
| local start, word_len = 1
| |
| repeat
| |
| local delimiter = 0
| |
| for i = start, s_len do
| |
| local c = mw.ustring.sub(s, i, i)
| |
| for j = 1, #dlist do
| |
| if c == mw.ustring.sub(dlist, j, j) then
| |
| delimiter = i
| |
| break
| |
| end
| |
| end
| |
| if delimiter ~= 0 then
| |
| break
| |
| end
| |
| end
| |
| if delimiter == 0 then
| |
| word_len = s_len - start + 1
| |
| else
| |
| word_len = delimiter - start
| |
| start = delimiter + 1
| |
| end
| |
| if word_len > max_word_len then
| |
| max_word_len = word_len
| |
| end
| |
| until delimiter == 0
| |
| end
| |
| return max_word_len
| |
| end | | end |
|
| |
|
| return p | | return p |