Heim >Backend-Entwicklung >Python-Tutorial >Wie bleiben Leerzeichen und Punkte erhalten, während Nicht-ASCII-Zeichen in Python-Textdateien entfernt werden?
Umgang mit Nicht-ASCII-Zeichen, Beibehaltung von Leerzeichen und Punkten
Beim Umgang mit Textdateien ist es oft notwendig, Nicht-ASCII-Zeichen zu entfernen Bewahrung spezifischer Einheiten wie Leerzeichen und Perioden. Der bereitgestellte Python-Code filtert erfolgreich Nicht-ASCII-Zeichen heraus, entfernt jedoch versehentlich auch Leerzeichen und Punkte.
Um dieses Problem zu beheben, müssen wir die Funktion onlyascii() ändern, um Leerzeichen und Punkte explizit vom Filterprozess auszuschließen . Hier ist eine aktualisierte Version:
<code class="python">def onlyascii(char): if char == ' ' or char == '.': return char elif ord(char) < 48 or ord(char) > 127: return '' else: return char</code>
In dieser überarbeiteten onlyascii()-Funktion prüfen wir, ob das Zeichen ein Leerzeichen (' ') oder ein Punkt ('.') ist und geben es zurück, wenn ja. Diese Änderung stellt sicher, dass diese Entitäten in der gefilterten Zeichenfolge erhalten bleiben.
Um die aktualisierte Funktion onlyascii() zu verwenden, können wir die Funktion get_my_string() ändern, um Zeichen mithilfe dieser Funktion zu filtern:
<code class="python">def get_my_string(file_path): f = open(file_path, 'r') data = f.read() f.close() filtered_data = filter(onlyascii, data) filtered_data = filtered_data.lower() return ''.join(filtered_data)</code>
Die Methode „join()“ wird verwendet, um die Zeichen aus dem von der Funktion „filter()“ zurückgegebenen Iterable zu verketten, was zu einer Zeichenfolge führt.
Durch die Implementierung dieser Änderungen können Sie Nicht-ASCII-Zeichen entfernen und dabei Leerzeichen beibehalten und Punkte in Ihrer Textzeichenfolge, passend zu Ihren spezifischen Projektanforderungen.
Das obige ist der detaillierte Inhalt vonWie bleiben Leerzeichen und Punkte erhalten, während Nicht-ASCII-Zeichen in Python-Textdateien entfernt werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!