osdir.com


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Escape-Sequenzen in einem String identifizieren


On 01/10/17 19:20, Ulrich Goebel wrote:
> Hallo,
>
> ich lese mit Python aus einer PostgreSQL-Datenbank strings (SQL-Typ:
> text), die ?ber LibreOffice dort hinein geschrieben werden. Diese
> Strings k?nnen Zeilenschaltungen enthalten, von denen ich aber nicht
> wei?, wie sie kodiert sind: vielleicht \n, \r, \n\r, \r\n oder sonstwie.

Hallo Ulrich,

diese Mailingliste ist englischsprachig. F?r Fragen und Diskussionen auf
deutsch gibt es eine eigene Liste, python-de at python.org mit
angeschlossener Newsgroup. Anscheinend gibt es auch ein Forum.

Siehe:
https://wiki.python.org/moin/GermanLanguage#Community_.28Wikis.2C_Mailinglisten.2C_Newsgroups_etc..29
https://mail.python.org/mailman/listinfo/python-de

>
> Um das herauszufinden, suche ich eine Funktion zeige_escape(string),
> die mir liefert:
>
> s = 'Hallo\nNeue Zeile'
>
>>>> zeige_escape(s)
> Hallo\nNeue Zeile

Um die Frage zu beantworten:

an der interaktiven Konsole brauchst du sowas gar nicht.

>>> s = 'two\nlines'
>>> s
'two\nlines'

Hier benutzt Python intern die Function repr():

>>> repr(s)
"'two\\nlines'"
>>> print(s)
two
lines
>>> print(repr(s))
'two\nlines'
>>>


> Hat jemand eine Idee?

Im Prinzip w?rde ich in so einem Fall eifach empfehlen, alle
Zeilenumbr?che, egal wie sie aussehen, pauschal zu ersetzen:

s.replace('\r\n', '\n')

-- 
Thomas Jollans