On 2014-02-24 12:25, Dante Loi wrote:
Salve devo scrivere un piccolo script che formati, dei file di
risorse nel
formato XML android.
input file:
File = File
New = Nuovo disegno
[...]
Il problema e che il valore della stringa, può contenere degli
spazzi,
quindi non posso semplicemente splitarla. Dovrei estrarre tutta la
sottostringa che segue " = ".
Avete qualche consiglio sulle funzioni che potrei usare???
Per quello che hai chiesto puoi usare split con il secondo parametro,
che dice quanti split vuoi al massimo. Splittando su "=" ti ritrovi con
degli spazi prima e dopo i pezzi, che puoi eliminare con strip(). È più
robusto che splittare sugli spazi bianchi, perché se per sbaglio ne
metti di consecutivi le cose non ti torneranno.
In [1]: s = "SaveName = Salva con = nome" # funziona anche se c'è
un = nel valore
In [2]: s.split("=", 1)
Out[2]: ['SaveName ', ' Salva con = nome']
In [3]: name, value = [ x.strip() for x in s.split("=", 1) ]
In [4]: name, value
Out[4]: ('SaveName', 'Salva con = nome')
La cosa brutta è come generi l'xml: se le stringhe contengono " ' < >
ottieni un file non valido. Dovresti usare qualcosa di più robusto per
generare xml, come ElementTree
(http://docs.python.org/2/library/xml.etree.elementtree.html).
-- Daniele
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python