„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie bleiben Leerzeichen und Punkte erhalten, während Nicht-ASCII-Zeichen in Python-Textdateien entfernt werden?

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

Veröffentlicht am 08.11.2024
Durchsuche:894

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 Punkte. 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:

def onlyascii(char):
    if char == ' ' or char == '.':
        return char
    elif ord(char)  127:
        return ''
    else:
        return char

In dieser überarbeiteten onlyascii()-Funktion prüfen wir, ob das Zeichen ein Leerzeichen (' ') oder ein Punkt ('.') ist und geben es zurück, wenn dies der Fall ist. Durch diese Änderung wird sichergestellt, 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:

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)

Die Methode join() wird verwendet, um die Zeichen aus der von der Funktion filter() zurückgegebenen Iterable zu verketten, was zu einer Zeichenfolge führt.

Durch Implementierung dieser Durch Modifikationen können Sie Nicht-ASCII-Zeichen entfernen und gleichzeitig Leerzeichen und Punkte in Ihrer Textzeichenfolge beibehalten, um Ihren spezifischen Projektanforderungen gerecht zu werden.

Freigabeerklärung Dieser Artikel wird unter folgender Adresse abgedruckt: 1729340957 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3