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