Шаблон Lua заменяет заглавные буквы

Мне нужен специальный шаблон Lua, который берет все прописные буквы в строке и заменяет их пробелом и соответствующей строчной буквой;

TestStringOne => test string one
this isA TestString => this is a test string

Это можно сделать?


person Maurdekye    schedule 11.04.2015    source источник


Ответы (2)


Предполагая, что используется только ASCII, это работает:

function lowercase(str)
  return (str:gsub("%u", function(c) return ' ' .. c:lower() end))
end

print(lowercase("TestStringOne"))
print(lowercase("this isA TestString"))
person Yu Hao    schedule 11.04.2015
comment
%u соответствует верхнему регистру; %l для строчных букв =) - person hjpotter92; 11.04.2015
comment
@YuHao: Вы, должно быть, что-то упустили ("..."), поскольку это не учитывает требования к дополнительному пространству и, по сути, ничем не отличается от простого str: lower (). - person tonypdmtr; 11.04.2015

person    schedule
comment
Я просто даю вам еще одну возможность. Он может оставить себе трофей :) - person tonypdmtr; 11.04.2015