Python에서 ASCII가 아닌 문자를 공백으로 바꾸기
Python에서 ASCII가 아닌 문자를 공백으로 바꾸는 작업은 간단해 보일 수 있지만 문자 조작에 자주 사용되는 내장 기능은 간단한 솔루션을 즉시 제공하지 못할 수도 있습니다. 이 목표를 효과적으로 달성하기 위한 과제와 대안적 접근 방식을 살펴보겠습니다.
현재 솔루션
질문에는 두 가지 기존 접근 방식이 제시됩니다.
단일 공백 대체
ASCII가 아닌 모든 문자를 단일 공백으로 바꾸도록 구체적으로 묻는 질문입니다. 이를 달성하려면 remove_non_ascii_1() 함수를 수정해야 합니다.
<code class="python">def remove_non_ascii_1(text): return ''.join([i if ord(i) < 128 else ' ' for i in text])</code>
이 업데이트된 함수에서는 조건식을 사용하여 ASCII가 아닌 문자를 단일 공백으로 바꿉니다. 그런 다음 ''.join() 표현식은 수정된 문자를 단일 문자열로 연결합니다.
정규 표현식 접근 방식
remove_non_ascii_2()는 단일 공백 대체에 맞게 조정될 수도 있습니다.
<code class="python">re.sub(r'[^\x00-\x7F]+', ' ', text)</code>여기서 ' ' 수정자는 연속된 비ASCII 문자가 단일 공백으로 대체되도록 대괄호 안에 추가됩니다.
참고: 이러한 함수는 유니코드 문자열에서 작동합니다. 바이트 문자열로 작업하는 경우 유니코드 문자를 먼저 디코딩해야 합니다(예: 유니코드(텍스트, 'utf-8')).
위 내용은 Python에서 ASCII가 아닌 문자를 공백으로 바꾸는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!