非 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 サイトの他の関連記事を参照してください。