「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Python テキスト ファイル内の非 ASCII 文字を削除しながらスペースとピリオドを保持する方法は?

Python テキスト ファイル内の非 ASCII 文字を削除しながらスペースとピリオドを保持する方法は?

2024 年 11 月 8 日に公開
ブラウズ:695

How to Preserve Spaces and Periods While Removing Non-ASCII Characters in Python Text Files?

非 ASCII 文字の処理、スペースとピリオドの保持

テキスト ファイルを扱う場合、多くの場合、非 ASCII 文字を削除する必要があります。スペースやピリオドなどの特定のエンティティを保存します。提供された Python コードは、非 ASCII 文字を正常にフィルタリングしますが、誤ってスペースとピリオドも削除してしまいます。

この問題に対処するには、onlyascii() 関数を変更して、フィルタリング プロセスからスペースとピリオドを明示的に除外する必要があります。 。更新されたバージョンは次のとおりです:

def onlyascii(char):
    if char == ' ' or char == '.':
        return char
    elif ord(char)  127:
        return ''
    else:
        return char

この改訂されたonlyascii()関数では、文字がスペース(' ')かピリオド('.')かをチェックし、そうであればそれを返します。この変更により、これらのエンティティがフィルタリングされた文字列に確実に保持されます。

更新されたonlyascii()関数を利用するには、次の関数を使用して文字をフィルタリングするようにget_my_string()関数を変更できます:

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 ''.join(filtered_data)

join() メソッドは、filter() 関数によって返された反復可能オブジェクトの文字を連結するために使用され、文字列が生成されます。

これらを実装することにより、変更すると、特定のプロジェクト要件に合わせて、テキスト文字列内のスペースとピリオドを保持したまま非 ASCII 文字を削除できます。

リリースステートメント この記事は次の場所に転載されています: 1729340957 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3