Ir para conteúdo

Funçao String.explode(Str, Sep)


Posts Recomendados

function string.explode(str, sep) -- function by MatheusMkalo
   local dat = {}
   local lastsep = 0
   for i = 1, #str do
       if str: sub(i, i+#sep-1) == sep then
           local addt = lastsep == 0 and str: sub(1, i-1) or str: sub(lastsep+#sep, i-1)
           if addt ~= "" then
               table.insert(dat, addt)
           end
           str = str:sub(1, i-1) .. str:sub(i+#sep-1)
           lastsep = i-#sep+1
       end
       if #dat == 0 and i == #str then
           table.insert(dat, str)
           break
       end
       if i == #str then
           table.insert(dat, str: sub(lastsep+#sep, #str))
       end
   end
return dat
end

 

Funçao string.explode dos ots em lua...

 

N funfa com pattern

Editado por MatheusMkalo
Link para o comentário
Compartilhar em outros sites

só dando umas sugestões na questão de que ele não reconhece patterns maiores que 1 caractere utiliza a função "string.len(string)" que retorna o tamanho da cadeia de caracteres, assim você pode usar a pattern do tamanho que quizer.

 

utilize o loop "repeat" ao invés do "for" assim economiza loop.

Link para o comentário
Compartilhar em outros sites

  • 5 weeks later...

Não entendi que você colocou no tópico que a função não funciona com patterns então funciona com o que?

 

Existe algums incovenientes tais como, com o uso de uma pattern maior que 1 caractere a primeira string retorna com o caractere digitado e não após o caractere como era pra ser.

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...