Tengo una cadena como first part;second part
. Quiero dividirlo en el ;
y devolver la segunda parte. Todo funciona bien con:dividir una cadena en un separador
start = mystring:find(';')
result = mystring:sub(start)
pero esperaba hacerlo en una línea:
result = mystring:sub(mystring:find(';'))
No emite un error pero no devuelve el resultado esperado. No es un gran problema, ya que funciona bien en dos líneas de código, pero entender por qué no funciona en el oneliner me ayudará a comprender mejor cómo funciona lua.
¿Y alguna magia para pasar solo el primer índice a la función sub() sin asignarlo primero a una variable? Me gusta 'mystring: sub (mystring: find (';') [1])' (que, por supuesto, no funciona) – ripat
@ripat lhf ya respondió esto. También eche un vistazo a esta página: [http://lua-users.org/wiki/SplitJoin](http://lua-users.org/wiki/SplitJoin). Puede obtener más información sobre una mejor solución, por si acaso su cadena tiene más de dos partes, por ejemplo. – Zecc