Sustitucion de caracteres

Chema Cortes py en ch3m4.org
Vie Ene 27 10:19:58 CET 2006


Israel Gutierrez escribió:

> Muchas gracias, al final encontré otra solución que funciona muy bien.
> 
> ------------------------------
> 
> def path2shell(self,cadena):
>       cadena=string.replace(cadena,'\\','\\\\')
>          todelete=('?','$','#','"',"'",'`','(',')','[',']','|','{','}','~',' 
> ',';','=','&','!','¡')
>       for caracter in todelete:
>           subs=''
>           subs=subs.join(('\\',caracter))
>           cadena=string.replace(cadena,caracter,subs)
>       return cadena
> 
> Un saludo.

Tan sólo una cosa: se recomienda no usar el módulo string a favor de los
métodos de clase. Una refactorización del código quedaría así:

def path2shell(self,cadena):
  cadena=cadena.replace('\\','\\\\')
  todelete=('?','$','#','"',"'",'`','(',')','[',']','|','{','}','~','
',';','=','&','!','¡')
  for caracter in todelete:
    cadena=cadena.replace(caracter,'\\'+caracter)
  return cadena




Más información sobre la lista de distribución Python-es