[Python] Un sacco di String replace!

Stefano Dal Pra s.dalpra a gmail.com
Mar 12 Nov 2013 12:10:14 CET


2013/11/12 Stefano Dal Pra <s.dalpra a gmail.com>

>
>
>
> 2013/11/12 piergiorgio pancino <piertoni a yahoo.it>
>
>> Ciao a tutti,
>>  domanda banale ovvero: "c'è un sistema più bello/veloce/simpatico di
>> quello proposto per fare una serie di string replace?"
>> Nell'esempio di seguito sostituisco tutta una serie di caratteri non
>> compatibili con ASCII:
>>
>> riga.append(str(self.rs.Fields.Item(i).value).replace('\n','
>> ').replace("\r","").replace(";",",").replace("&","and").replace("<","").replace(">","").replace("°",""))
>>
>>
>
> Premesso che ci dev'essere un modo piu' "ortodosso", potresti provare con
> il metodo di stringa translate:
> >>> print s.translate.__doc__
> S.translate(table [,deletechars]) -> string
> [blabla]
>
> In soldoni vuole una stringa di 256 caratteri che funge da mappa di
> conversione, ed accetta una
> stringa "deletechars" di caratteri che rimuove
>
> Non lo ho provato ma questo dovrebbe essere piu' o meno il modo:
>
> Ehm, c'e' [almeno] uno svarione :

M=[chr(n) for n in range(256)]
> M[ord('\n')] = ' '
> M[ord(';')] = ','
>

M = ''.join(M)

> D = '<\r'
>
> s.translate(M,D).replace('&','and')
>
> e gia' che c'ero l'ho provata:

>>> M=[chr(n) for n in range(256)]
>>> M[ord('\n')] = ''
>>> M[ord(';')] = ','
>>> M = ''.join(M)
>>> D = '<\r'
>>> s = """< ecco \r cos\na & quale"""
>>> print s.translate(M,D).replace('&','and')
 ecco  cos a and quale


Ciao
> Stefano
>
>
>>  Grazie!
>>
>> Piergiorgio
>>
>> _______________________________________________
>> Python mailing list
>> Python a lists.python.it
>> http://lists.python.it/mailman/listinfo/python
>>
>>
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20131112/657c73a1/attachment.html>


Maggiori informazioni sulla lista Python