ホームページ >バックエンド開発 >Python チュートリアル >ピリオドとスペースを保持したまま非 ASCII 文字を削除するにはどうすればよいですか?
ピリオドとスペースを保持しながら非 ASCII 文字を削除する
目標は、.txt ファイルに保存されているテキスト データを処理し、スペースとピリオドの両方を保持しながら、非 ASCII 文字を含まない文字列。これを実現するために、提供されたコードは、ASCII 値をチェックして文字を含めるべきかどうかを決定する関数onlyascii()を定義します。ただし、現在はピリオドとスペースも削除されます。
onlyascii() を変更してピリオドとスペースを除外するには、Python の string.printable モジュールを利用できます。 string.printable には、スペースやピリオドなど、印刷可能とみなされる文字のセットが含まれています。
string.printable を使用するonlyascii() の更新された定義は次のようになります。
def onlyascii(char): if ord(char) < 48 or ord(char) > 127 or char not in string.printable: return '' else: return char
このチェックをOnlyascii() を使用すると、スペースとピリオドを除く印刷できない文字が除外されます。
更新されたonlyascii() 関数で修正されたコードは次のとおりです。
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
以上がピリオドとスペースを保持したまま非 ASCII 文字を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。