function split(str, delim, plain)
local tokens, pos, plain = {}, 1, not (plain == false) --[[ delimiter is plain text by default ]]
repeat
local npos, epos = string.find(str, delim, pos, plain)
table.insert(tokens, string.sub(str, pos, npos and npos - 1))
pos = epos and epos + 1
until not pos
return tokens
end
local caps = "CAPS TEXT"
local check = split(caps, " ") -- делим строку по словам
local founded = 0 -- переменная для дальнейшей проверки
for k, v in pairs(check) do -- проходимся по нашему массиву
if v:find("%u+") then -- если находим в слове хотя бы одну заглавную букву
if (v:match("%u+")):len() > 3 then -- если в слове есть минимум 3 заглавные буквы
founded = founded + 1 -- плюсуем к нашему счетчику
end
end
end
if founded >= 2 then print("caps!") end -- контрольная проверка, если счетчик больше 2, то считаем что в строке использован капс