Module:Soldier: Difference between revisions
Link Italian 5th class to Team IPW Italian 5 |
Italian 5th class -> 5; MII 540-R -> 540 |
||
| Line 727: | Line 727: | ||
local miiNum, miiLetter = mw.ustring.match(part, '^(%d+)%s*[%-–—]%s*([A-Za-z])$') | local miiNum, miiLetter = mw.ustring.match(part, '^(%d+)%s*[%-–—]%s*([A-Za-z])$') | ||
if miiNum then | if miiNum then | ||
local mii = miiNum .. '-' .. | miiLetter = mw.ustring.upper(miiLetter) | ||
local mii = miiNum .. '-' .. miiLetter | |||
if miiLetter == 'R' and (miiNum == '540' or miiNum == '545' or miiNum == '546') then | |||
mii = miiNum | |||
end | |||
return nil, mii, mii | return nil, mii, mii | ||
end | end | ||
| Line 1,249: | Line 1,253: | ||
local work = text | local work = text | ||
for num, letter in string.gmatch(work, 'MII[%s%-]+(%d+)%s*%-%s*([A-Z])') do | for num, letter in string.gmatch(work, 'MII[%s%-]+(%d+)%s*%-%s*([A-Z])') do | ||
add('MII ' .. num .. '-' .. letter) | if letter == 'R' and (num == '540' or num == '545' or num == '546') then | ||
add('MII ' .. num) | |||
else | |||
add('MII ' .. num .. '-' .. letter) | |||
letteredNums[num] = true | |||
end | |||
end | end | ||
work = string.gsub(work, 'MII[%s%-]+%d+%s*%-%s*[A-Z]', ' ') | work = string.gsub(work, 'MII[%s%-]+%d+%s*%-%s*[A-Z]', ' ') | ||
for num, letter in string.gmatch(' ' .. text .. ' ', '[^%d]([45]%d%d)%s*%-%s*([A-Z])[^A-Z]') do | for num, letter in string.gmatch(' ' .. text .. ' ', '[^%d]([45]%d%d)%s*%-%s*([A-Z])[^A-Z]') do | ||
add('MII ' .. num .. '-' .. letter) | if letter == 'R' and (num == '540' or num == '545' or num == '546') then | ||
add('MII ' .. num) | |||
else | |||
add('MII ' .. num .. '-' .. letter) | |||
letteredNums[num] = true | |||
end | |||
end | end | ||
for num in string.gmatch(work, 'MII[%s%-]+(%d+)') do | for num in string.gmatch(work, 'MII[%s%-]+(%d+)') do | ||
| Line 1,268: | Line 1,280: | ||
end | end | ||
for num, letter in string.gmatch(text, 'IPW%s+(%d+)%s*%-%s*([A-Z])') do | for num, letter in string.gmatch(text, 'IPW%s+(%d+)%s*%-%s*([A-Z])') do | ||
add('MII ' .. num .. '-' .. letter) | if letter == 'R' and (num == '540' or num == '545' or num == '546') then | ||
add('MII ' .. num) | |||
else | |||
add('MII ' .. num .. '-' .. letter) | |||
end | |||
end | end | ||
for num in string.gmatch(text, 'IPW%s+(%d+)[Tt]?%s*%??%f[^%a%d%-]') do | for num in string.gmatch(text, 'IPW%s+(%d+)[Tt]?%s*%??%f[^%a%d%-]') do | ||