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.
Aus einer Zeichenkette mit nur einer Zeile kann ich ohne Probleme Sonderzeichen
äüö ersetzten. Benutze ich einen String indem mehrere Zeilen enthalten sind, in meinem
Beispiel währe das eine Schachpartie.
Warum ist es dir nicht möglich? Gibt es eine Fehlermeldung? Dann wäre es nett zu erfahren, wie sie lautet, zusammen mit dem Code.
Wenn man raten müsste: Du hast keinen String, sondern eine Liste mit Strings. Dann müsstest Du mittels Schleife replace auf jedes Element einzeln anwenden.
Sirius3 hat geschrieben: Mittwoch 27. Oktober 2021, 04:51
Wenn man raten müsste: Du hast keinen String, sondern eine Liste mit Strings. Dann müsstest Du mittels Schleife replace auf jedes Element einzeln anwenden.
Hallo Sirius3,
Ich lese die Schachpartien aus einer großen Datei ein.
Ich habe in der Pgndatei einigen Spielern das ä ö ü angehängt, und das wollte ich durch
ae usw. ersetzen. Benutze ich Print(line) so erhalte ich diese Ausgabe:
PeterL hat geschrieben: Mittwoch 27. Oktober 2021, 06:13
Es gibt keinen Unterschied.
Ich wollte nur zeigen das eine Zeichenkette die nur eine Reihe hat, die Umlaute
mit replace ersetzt werden können.
Zeichenketten haben keine Reihen.
PeterL hat geschrieben: Mittwoch 27. Oktober 2021, 06:13
Ich habe das was gefunden.
import codecs
with codecs.open('pgn/test.pgn', encoding='utf-8') as f:
for line in f:
line= (repr(line))
print(line)
Was, meinst du, machen die äußeren Klammern hier: (repr(line))? Und was glaubst du, was repr(line) macht? Was hast du dir dabei gedacht, als das hingeschrieben hast?
Und was würde passieren, wenn du statt codecs.open() einfach nur open() verwenden würdest?