공백과 마침표를 유지하면서 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!