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

Linda Hamilton
リリース: 2024-10-19 20:30:29
オリジナル
504 人が閲覧しました

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

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

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

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

<code class="python">def onlyascii(char):
    if char == ' ' or char == '.':
        return char
    elif ord(char) < 48 or ord(char) > 127:
        return ''
    else:
        return char</code>
ログイン後にコピー

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

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

<code class="python">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)</code>
ログイン後にコピー

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

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

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

ソース:php
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!