Heim >Backend-Entwicklung >Python-Tutorial >Wie entferne ich Nicht-ASCII-Zeichen und behalte dabei Punkte und Leerzeichen bei?
Nicht-ASCII-Zeichen entfernen und dabei Punkte und Leerzeichen beibehalten
Das Ziel besteht darin, in einer TXT-Datei gespeicherte Textdaten zu verarbeiten und eine zu extrahieren Zeichenfolge ohne Nicht-ASCII-Zeichen, wobei sowohl Leerzeichen als auch Punkte erhalten bleiben. Um dies zu erreichen, definiert der bereitgestellte Code eine Funktion onlyascii(), die bestimmt, ob ein Zeichen enthalten sein soll, indem es seinen ASCII-Wert überprüft. Derzeit werden jedoch auch Punkte und Leerzeichen entfernt.
Um onlyascii() so zu ändern, dass Punkte und Leerzeichen ausgenommen werden, können wir das string.printable-Modul von Python nutzen. string.printable enthält eine Reihe von Zeichen, die als druckbar gelten, einschließlich Leerzeichen und Punkte.
Die aktualisierte Definition von onlyascii() unter Verwendung von string.printable wäre:
def onlyascii(char): if ord(char) < 48 or ord(char) > 127 or char not in string.printable: return '' else: return char
Durch die Einbindung dieser Prüfung in onlyascii(), nicht druckbare Zeichen, ausgenommen Leerzeichen und Punkte, werden herausgefiltert.
Hier ist der korrigierte Code mit der aktualisierten onlyascii()-Funktion:
def onlyascii(char): if ord(char) < 48 or ord(char) > 127 or char not in string.printable: return '' else: return char 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 filtered_data
Das obige ist der detaillierte Inhalt vonWie entferne ich Nicht-ASCII-Zeichen und behalte dabei Punkte und Leerzeichen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!