刪除非ASCII 字元同時保留空格和句點
在Python 中,你可能會遇到需要過濾掉非ASCII 的情況串中的字符,同時保持空格和句點完整。為此目的提供的代碼稱為 onlyascii(),目前會刪除所有非 ASCII 字符,包括所需的字符。
要解決此問題,請考慮修改 onlyascii() 函數以包含對空格和空格的特殊處理期間。一種方法是使用 Python 的 string.printable,它包含一組被視為可列印的字符,包括空格和句點。
在 onlyascii() 函數中,您可以過濾掉非 ASCII 字符,同時允許空格通過檢查字符是否在 string.printable 集中來傳遞句點。操作方法如下:
def onlyascii(char): if ((ord(char) < 48 or ord(char) > 127) and (char not in string.printable)): return '' else: return char
透過將不在 string.printable 條件中的字元加入 if 語句,可以確保保留空格和句點,即使它們超出了 ASCII 範圍。將此修改合併到 get_my_string() 函數中,您現在可以過濾掉非 ASCII 字符,同時保留空格和句點:
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 filtered_data
以上是如何在 Python 中過濾非 ASCII 字元同時保留空格和句點?的詳細內容。更多資訊請關注PHP中文網其他相關文章!