Seite 1 von 1

Löschen von CR und LF bzw ^M

Verfasst: Freitag 14. März 2008, 16:51
von Raggi
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

Verfasst: Freitag 14. März 2008, 16:55
von Hyperion
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]

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

Verfasst: Freitag 14. März 2008, 17:05
von Rebecca
Raggi hat geschrieben:str=str.split()
Meinst du strip?

Verfasst: Freitag 14. März 2008, 18:59
von Raggi
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

Verfasst: Freitag 14. März 2008, 19:39
von midan23
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 ...

Verfasst: Freitag 14. März 2008, 20:09
von jens
btw. str als variable namen zu verwenden ist doof ;)

Verfasst: Freitag 14. März 2008, 23:05
von Raggi
@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:

Verfasst: Freitag 14. März 2008, 23:29
von Rebecca
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.

Verfasst: Samstag 15. März 2008, 01:48
von audax
string.strip() killt auch unter Linux ein '\r'.

Verfasst: Samstag 15. März 2008, 08:52
von birkenfeld
Aber nur am Stringende.