- Fórum
- OTServ
- Recursos
- Scripting
- Mods, funções e outros
- string.explode and toArray
CA
string.explode and toArray
Por caotic, 30 de ago. de 2013 em Mods, funções e outros
string.explode
strtoarray
1
1.1k
Por caotic, 30 de ago. de 2013 em Mods, funções e outros
info
Grupo: Infante
Registrado: 04/03/11
Posts: 1.6k
Reputação: +393
Char no Tibia: No Have
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; }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; }function strToArray(string) len = #string x = {} for i=1, len do table.insert(x, string.sub(string, i, i)) end return x endlocal ex = string.explode("oi/"oi1"/oi2", "/") for i=1, #ex do print(ex[i]) endlocal table = strToArray("oi") for i=1, #table do print(table[i]) endEditado Agosto 30 por caotic