首頁  >  文章  >  後端開發  >  如何在刪除 Python 文字檔案中的非 ASCII 字元時保留空格和句點?

如何在刪除 Python 文字檔案中的非 ASCII 字元時保留空格和句點?

Linda Hamilton
Linda Hamilton原創
2024-10-19 20:30:29505瀏覽

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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn