Wie bleiben Leerzeichen und Punkte erhalten, während Nicht-ASCII-Zeichen in Python-Textdateien entfernt werden?

Linda Hamilton
Freigeben: 2024-10-19 20:30:29
Original
504 Leute haben es durchsucht

How to Preserve Spaces and Periods While Removing Non-ASCII Characters in Python Text Files?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!