ホームページ  >  記事  >  バックエンド開発  >  Python でスペースとピリオドを保持しながら非 ASCII 文字をフィルタリングする方法

Python でスペースとピリオドを保持しながら非 ASCII 文字をフィルタリングする方法

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-19 20:33:29501ブラウズ

How to Filter Non-ASCII Characters While Preserving Spaces and Periods in Python?

スペースとピリオドを保持しながら非 ASCII 文字を削除する

Python では、非 ASCII 文字をフィルタリングする必要がある状況に遭遇することがあります。スペースとピリオドをそのまま維持したまま、文字列から文字を抽出します。この目的のために提供されている、onlyascii() として知られるコードは、現在、必要な文字を含むすべての非 ASCII 文字を削除します。

この問題に対処するには、onlyascii() 関数を変更して、スペースと文字列に対する特別な処理を含めることを検討してください。期間。 1 つのアプローチは、Python の string.printable を使用することです。これには、スペースやピリオドなど、印刷可能とみなされる文字のセットが含まれています。

onlyascii() 関数内で、スペースを許可しながら非 ASCII 文字を除外できます。文字が string.printable セットに含まれているかどうかを確認して通過するピリオド。その方法は次のとおりです。

def onlyascii(char):
    if ((ord(char) < 48 or ord(char) > 127)
            and (char not in string.printable)):
        return ''
    else:
        return char

string.printable 条件にない char を if ステートメントに追加すると、ASCII 範囲外であってもスペースとピリオドが確実に保持されます。この変更を get_my_string() 関数に組み込むことで、スペースとピリオドを保持しながら非 ASCII 文字を除外できるようになりました:

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

以上がPython でスペースとピリオドを保持しながら非 ASCII 文字をフィルタリングする方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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