Löschen von CR und LF bzw ^M

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
Raggi
User
Beiträge: 12
Registriert: Donnerstag 6. März 2008, 23:29

Hallo

ich habe einen String, der einen Umbruch hat
str="5400*Bauer|6666*Traktor|6666*Bauer^M"

Ergebnis soll aber so aussehen:
5400*Bauer|6666*Traktor|6666*Bauer

ich dachte erst, ich könnte den Umbruch mit einem Split bereinigen
str=str.split()
ging aber nicht

Welche Ideen habt Ihr?

Dank,
Ragg
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Ich hoffe das Teil heißt nicht wirklich "str" in Deinem Programm ;-)

Naja, schneid doch einfach die letzte Stelle ab!

Code: Alles auswählen

a = a[:-1]
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Raggi hat geschrieben:str=str.split()
Meinst du strip?
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
Raggi
User
Beiträge: 12
Registriert: Donnerstag 6. März 2008, 23:29

ooops, ja, es soll natürlich "strip" heissen

a = a[:-1] ist nicht die ideale Lösung, weil solche ^M ja nicht immer am Ende des Strings sind
midan23
User
Beiträge: 147
Registriert: Sonntag 21. Mai 2006, 21:41
Wohnort: Müchen
Kontaktdaten:

Wenn diese Sonderzeichen mehrfach in der Zeichenkette vorkommen, könnte man sie doch einfach durch nichts ersetzen ...

Stichwort "replace" ...

Und beachte, das "replace" die ursprüngliche Zeichenkette nicht ändert, sondern eine neue zurück liefert ...
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

btw. str als variable namen zu verwenden ist doof ;)

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Raggi
User
Beiträge: 12
Registriert: Donnerstag 6. März 2008, 23:29

@midan23: wie mache ich denn ein replace durch "" mit dem "^M"?
Es steht im Editor nicht "^M" direkt sichtbar drin. Ich habe es durch eine spezielle Geheim-Detektiv-Zitronensäure herausgefunden
:)

@alle: natürlich heisst meine Variable in echt nicht "string".... :roll:
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Was ist denn ^M, ist das nicht ein Carriage Return? Sollte das nicht durch strip weggehen? Carriage Return gibt man jedenfall als "\r" im Code an, damit sollte das Replace dann gehen.
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
audax
User
Beiträge: 830
Registriert: Mittwoch 19. Dezember 2007, 10:38

string.strip() killt auch unter Linux ein '\r'.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Aber nur am Stringende.
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
Antworten