Lua Как добавить пробел между строчными и заглавными буквами

У меня есть функция для перевода первой буквы строки в верхний регистр.

function firstToUpper(str)
   return string.gsub(" "..str, "%W%l", string.upper):sub(2)
end

Теперь мне нужна функция для добавления пробела между маленькими и большими буквами в строке, например:

Привет Мир ----› Привет Мир

Вы знаете какое-нибудь решение для Lua?


person Karto1695    schedule 30.05.2021    source источник


Ответы (2)


str:gsub("(%l)(%u)", "%1 %2") возвращает строку, которая содержит пробел между любой парой нижних и верхних букв в str.

Пожалуйста, прочитайте https://www.lua.org/manual/5.4/manual.html#pdf-string.gsub

person Piglet    schedule 30.05.2021
comment
Это работает для меня лучше, спасибо - person Karto1695; 30.05.2021

person    schedule
comment
Спасибо, это сработало - person Karto1695; 30.05.2021
comment
все, что вы здесь делаете, уже поддерживается string.gsub. нет необходимости использовать string.find и цикл. new тоже лишнее. почему бы не назвать свой параметр new или использовать str? - person Piglet; 30.05.2021
comment
Прежде чем я написал этот сценарий, я думал, что вы не можете изменить значение параметра в функции. Спасибо, что сообщили мне об этом более простом методе - person luckysenpai; 31.05.2021