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

Löschen von CR und LF bzw ^M

Beitragvon Raggi » Freitag 14. März 2008, 16:51

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: 7471
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Beitragvon Hyperion » Freitag 14. März 2008, 16:55

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:

Re: Löschen von CR und LF bzw ^M

Beitragvon Rebecca » Freitag 14. März 2008, 17:05

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

Beitragvon Raggi » Freitag 14. März 2008, 18:59

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: 116
Registriert: Sonntag 21. Mai 2006, 21:41
Wohnort: Müchen
Kontaktdaten:

Beitragvon midan23 » Freitag 14. März 2008, 19:39

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
Moderator
Beiträge: 8458
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Beitragvon jens » Freitag 14. März 2008, 20:09

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

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

Beitragvon Raggi » Freitag 14. März 2008, 23:05

@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:

Beitragvon Rebecca » Freitag 14. März 2008, 23:29

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

Beitragvon audax » Samstag 15. März 2008, 01:48

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

Beitragvon birkenfeld » Samstag 15. März 2008, 08:52

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

http://pythonic.pocoo.org/

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder