Jump to content

'gsub', sólo para palabras completas.


Tomas

Recommended Posts

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
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 :D

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...