Heim  >  Artikel  >  Backend-Entwicklung  >  Wie entferne ich Nicht-ASCII-Zeichen und behalte dabei Punkte und Leerzeichen bei?

Wie entferne ich Nicht-ASCII-Zeichen und behalte dabei Punkte und Leerzeichen bei?

DDD
DDDOriginal
2024-10-19 20:37:29898Durchsuche

How to Remove Non-ASCII Characters while Preserving Periods and Spaces?

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!

Stellungnahme:
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