ホームページ >バックエンド開発 >Python チュートリアル >ピリオドとスペースを保持したまま非 ASCII 文字を削除するにはどうすればよいですか?

ピリオドとスペースを保持したまま非 ASCII 文字を削除するにはどうすればよいですか?

DDD
DDDオリジナル
2024-10-19 20:37:29989ブラウズ

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

ピリオドとスペースを保持しながら非 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。