substitute replacement index python string replace lua

replacement - string in python



Traduzca Python a Lua: reemplace un carácter de cadena en una lista (2)

Analógico de string.gsub() pero sin caracteres mágicos (reemplazo simple)

function string:replace(pattern, replace_string, ...) return (self:gsub( pattern:gsub("%p","%%%0"), replace_string:gsub("%%","%%%%"), ... )) end

Ejemplo:

print(string.replace("25%", "%", " percent")) --> 25 percent print(("n>=0"):replace(">=", "≥")) --> n≥0 s = "#01"; print(s:replace("#", "")) --> 01

Estoy aprendiendo Lua y tengo un poco de conocimiento de Python y quiero reemplazar un personaje en una cadena como en Python, pero no tuve la suerte de encontrar las funciones de traducción exactas.

Quiero hacer esto en Lua:

l = ["#01","#02", "#03"] print(l) for i in range(len(l)): l[i]=l[i].replace("#","") #print (i) print (l)


Primero en Python utilizarías una lista de comprensión:

>>> l = ["#01", "#02", "#03", "04"] >>> l = [s.replace(''#'', '''') for s in l] >>> print(l) [''01'', ''02'', ''03'', ''04'']

Si realmente necesita actualizar la lista en su lugar:

>>> l[:] = [s.replace(''#'', '''') for s in l]

En Lua puede iterar sobre la lista / matriz / tabla con y usar gsub para reemplazar las subcadenas:

> l = {"#01", "#02", "#03", "04"} > for k, v in pairs(l) do print(k, v) end 1 #01 2 #02 3 #03 4 04 > for k in next,l do l[k] = l[k]:gsub("#", "") end > for k, v in pairs(l) do print(k, v) end 1 01 2 02 3 03 4 04