string in liste umwandeln

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Kathrin
User
Beiträge: 43
Registriert: Dienstag 6. Dezember 2005, 15:11

Hallo an alle!

Ich habe meinen string:

Code: Alles auswählen

string = str(["text\\to", "split"])
Den möchte ich in eine liste packen, so dass ich eine liste:

Code: Alles auswählen

liste = ["text\\to", "split"]
habe. Es gibt aber mit dem "\\" Probleme.
Ich habs folgendermaßen versucht:

Code: Alles auswählen

string = string.replace('[', '')
string = string.replace(']', '')
string = string.replace('\"', '')
string = string.replace('\'', '')
print string
>> text\\to, split
liste = string.split(", ")
print liste
>>['text\\\\to', 'split']   # und nicht ['text\\to', 'split']
Ich weiß, dass jedes "\" maskiert wird, ich also eins in meinem string entfernen muss ... das geht mit

Code: Alles auswählen

string = string.replace('\\', '\')
aber nicht.
Kann mir jemand helfen wie ich meine liste richtig hinbekomme? Vielleicht gehts ja auch enfacher, das mit dem häufgen replace kommt mir eh ein bisschen komisch vor.

Danke für Hilfe,
Kathrin
modelnine
User
Beiträge: 670
Registriert: Sonntag 15. Januar 2006, 18:42
Wohnort: Celle
Kontaktdaten:

Probier mal:

Code: Alles auswählen

eval(string)
--- Heiko.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Kathrin hat geschrieben:

Code: Alles auswählen

print liste
>>['text\\\\to', 'split']   # und nicht ['text\\to', 'split']
Naja, du könntest es auch einfach "zurück" wandeln:

Code: Alles auswählen

liste = [i.replace("\\\","\") for i in liste]

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Kathrin
User
Beiträge: 43
Registriert: Dienstag 6. Dezember 2005, 15:11

Danke, jetzt klappt's! :D
Antworten