處理非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中文網其他相關文章!