20cm 70 Postado Novembro 10, 2012 Share Postado Novembro 10, 2012 (editado) O que ela faz? Ela transforma uma string, por exemplo, de "eitor laba v1d4 l0k4" para "Eitor Laba V1d4 L0k4" Pode-se dizer que ela deixa em caixa alta a primeira letra de cada palavra de uma string, e, se forem números, não faz nada. Aqui vai ela: function fixString(string) local k = string.explode(string," ") local x = "" local y = 0 for i = 1, #k do if y == 0 then x = x ..string.sub(k[i],0,1):upper()..string.sub(k[i],2) y = 1 else x = x .." "..string.sub(k[i],0,1):upper()..string.sub(k[i],2) end end return x end Flw! Editado Novembro 10, 2012 por 20cm Link para o comentário Compartilhar em outros sites More sharing options...
SkyLigh 453 Postado Novembro 10, 2012 Share Postado Novembro 10, 2012 Parabéns @20cm Reputado. Link para o comentário Compartilhar em outros sites More sharing options...
Vodkartzin 11 Postado Novembro 10, 2012 Share Postado Novembro 10, 2012 gostei bastante da função cara parabéns! Link para o comentário Compartilhar em outros sites More sharing options...
caotic 393 Postado Novembro 11, 2012 Share Postado Novembro 11, 2012 E bem raro ver string.explode fora do evento dos talkactions ainda mais para espaço. Muito bom cara. Link para o comentário Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Novembro 30, 2012 Share Postado Novembro 30, 2012 Um string.gmatch. function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+") do ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2) .." " end return ret end Link para o comentário Compartilhar em outros sites More sharing options...
20cm 70 Postado Dezembro 17, 2012 Autor Share Postado Dezembro 17, 2012 Um string.gmatch. function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+") do ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2) .." " end return ret end Na verdade essa função deixa um espaço depois da última palavra (fixString("camelo") > "camelo_") Link para o comentário Compartilhar em outros sites More sharing options...
Skymagnum 234 Postado Dezembro 17, 2012 Share Postado Dezembro 17, 2012 (editado) Porque ele deixou um espaço na ret ret = ret ..string.sub(n,0,1):upper()..string.sub(n,2).."AQUI" é só deixar assim ret = ret ..string.sub(n,0,1):upper()..string.sub(n,2).."" Editado Dezembro 17, 2012 por Skymagnum Link para o comentário Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Dezembro 17, 2012 Share Postado Dezembro 17, 2012 Eee que legal... function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+") do ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2) end return ret end Link para o comentário Compartilhar em outros sites More sharing options...
Slicer 1070 Postado Dezembro 18, 2012 Share Postado Dezembro 18, 2012 (editado) achu q assim fica melhor '--' function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+") do ret = ret .. (ret == "" and "" or " ") .. string.sub(n, 0, 1):upper() .. string.sub(n, 2):lower() end return ret end n pode esquecer do lower() no final.. ja q o usuario pode escrever tpw.. SLiCer, SLICER, sLIcER... kk Editado Dezembro 18, 2012 por Slicer Link para o comentário Compartilhar em outros sites More sharing options...
20cm 70 Postado Dezembro 27, 2012 Autor Share Postado Dezembro 27, 2012 Skymagnum, esse não é o ponto, eu sei que isso põe espaço -.- o que a função faz é dividir palavras por espaço (%w+) , deixar a primeira letra em caixa alta, depois por o resto, e por um espaço O que eu to querendo dizer é que, se eu "fixo" a string "mamãe quer sexo" ela sai como "Mamãe Quer Sexo" (note o espaço no final) - e nenhum de vocês conseguiram fazer com que resultasse em "Mamãe Quer Sexo" (não que eu ache que vocês não consigam) acho que vocês [mais o oneshot] deviam prestar mais atenção antes de postar) enfim , obrigado bjos Link para o comentário Compartilhar em outros sites More sharing options...
Oneshot 732 Postado Dezembro 27, 2012 Share Postado Dezembro 27, 2012 Ué, meu velho, vem falar para eu prestar atenção, mas não vi você consertar esse tal bug de deixar espaços. Você tem que entender que eu encurto funções dos outros jogadores, para que eles notem e aprendam as funções nativas do Lua que são muito úteis. Não tem razão nenhuma para você ficar irritadinho. Se viu que eu errei, corrija e ganhe a fama de "corrigi o erro do Um Tiro". Enfim, tá aí. function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+%s*") do ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2) end return ret end Ah, também desenvolvi seu rank por storage que você queria lá na seção de websites. Viu como eu sou um cara legal? Link para o comentário Compartilhar em outros sites More sharing options...
20cm 70 Postado Dezembro 28, 2012 Autor Share Postado Dezembro 28, 2012 Ué, meu velho, vem falar para eu prestar atenção, mas não vi você consertar esse tal bug de deixar espaços. Você tem que entender que eu encurto funções dos outros jogadores, para que eles notem e aprendam as funções nativas do Lua que são muito úteis. Não tem razão nenhuma para você ficar irritadinho. Se viu que eu errei, corrija e ganhe a fama de "corrigi o erro do Um Tiro". Enfim, tá aí. function fixStr(str) local ret = "" for n in string.gmatch(str, "%w+%s*") do ret = ret .. string.sub(n, 0, 1):upper() .. string.sub(n, 2) end return ret end Ah, também desenvolvi seu rank por storage que você queria lá na seção de websites. Viu como eu sou um cara legal? minha função era aquela quem tinha que consertar a função era tu, não eu lol mas vlw pelo rank s2 Link para o comentário Compartilhar em outros sites More sharing options...
iunix 41 Postado Dezembro 30, 2012 Share Postado Dezembro 30, 2012 (editado) Eu fiz uma função assim semana passada: function string:fix() return string.upper(self:sub(1,1)) .. self:sub(2):lower() end function string:fixall() local R = {} local t = string.explode(self, ' ') for i,v in pairs (t) do table.insert(R,v:fix()) end return table.concat(R,' ') end A de cima pega só a 1º palavra e a outra pega todas. Editado Dezembro 30, 2012 por iuniX Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados