Ir para conteúdo

Posts Recomendados

Bem era para estar postando na área de programação mais acho que vai se encaixar mais aqui.

Eu crei algumas patterns para strings usando c++.

 

String.explode(string, sep)

Ela explode a string separando ela com um separador(unico separador):

static int explodestr(lua_State *L)
{
int len;
int l=1;
string str = "";
string sep = lua_tostring(L, 2);
string y = lua_tostring(L, 1) + sep;
len = y.size();
int i =sep.find(sep, 1);
lua_createtable(L, len, 0);
 
 
for (int x=0; x<=len; x++)
   { 
  str = y.substr(x, 1);
  if (str == sep) {
lua_pushstring(L, y.substr(i+1, (x-i)-1).c_str());
          lua_rawseti (L, -2, l);
  i = x;
  l = l+1;
  }
 
   }
 
 
 
return 1;
}
Aproveitando o tópico também resolvi postar uma função que tinha feito para um projetinho.
strtoArray(string)
Retorna uma table com cada caracter da string:
Em c++:
static int strToArray(lua_State *L)
{
int len;
string y = lua_tostring(L, 1);
len = y.size();
lua_createtable(L, len, 0);
 
 
for (int x=0; x<=len; x++)
   {
  lua_pushstring(L, y.substr(x, 1).c_str());
lua_rawseti (L, -2, x+1);
 
   }
 
 
 
return 1;
}
Claro que da para fazer em Lua:
function strToArray(string)
len = #string
x = {}
for i=1, len do
table.insert(x, string.sub(string, i, i))
end
return x
end
Example:
string.explode:
local ex = string.explode("oi/"oi1"/oi2", "/")
for i=1, #ex do
print(ex[i])
end
strToArray:
local table = strToArray("oi")
for i=1, #table do
print(table[i])
end
Editado por caotic
Link para o comentário
https://xtibia.com/forum/topic/220275-stringexplode-and-toarray/
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

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