Tomas Posted January 12, 2015 Share Posted January 12, 2015 Hola, hago este post con la finalidad de ver si alguien puede ayudarme con esto: Necesito que el 'gsub' sólo funcione con palabras completas, un ejemplo de lo que quiero y de lo que me pasa: Lo que me pasa: replace = { ["1"] = "A", ["2"] = "B", } _str = "13" for index,value in next,(replace) do str = _str:gsub(index,value) print(str) end => A3 Lo que yo quiero: replace = { ["1"] = "A", ["2"] = "B", } _str = "13" for index,value in next,(replace) do str = _str:gsub(index,value) print(str) end => 13 Osea, la idea es que sólo me tome los strings completos, seguramente haya que hacer algun split o algo, probé diversas formas pero no obtuve el resultado esperado, si alguien puede ayudarme agradecido estaré. Link to comment
Sasu Posted January 12, 2015 Share Posted January 12, 2015 (edited) No tengo ni la menor idea de si seria la manera mas eficiente pero es lo unico que llegue a encontrar. _str:gsub("(%w+)", function(w) if w == index then return value end end) Edited January 12, 2015 by Guest Link to comment
Tomas Posted January 12, 2015 Author Share Posted January 12, 2015 No tengo ni la menor idea de si seria la manera mas eficiente pero es lo unico que llegue a encontrar. _str:gsub("(%w+)", function(w) if w == index then return value end end)) En estos casos de desesperación la eficiencia me vale, me funcionó en el demo que probé, mañana veo si me sirve en el script que estoy modificando, gracias Link to comment
Recommended Posts