> 백엔드 개발 > 파이썬 튜토리얼 > Python에서 ASCII가 아닌 문자를 공백으로 바꾸는 방법은 무엇입니까?

Python에서 ASCII가 아닌 문자를 공백으로 바꾸는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-11-01 16:34:02
원래의
474명이 탐색했습니다.

How to Replace Non-ASCII Characters with Spaces in Python?

Python에서 ASCII가 아닌 문자를 공백으로 바꾸기

Python에서 ASCII가 아닌 문자를 공백으로 바꾸는 작업은 간단해 보일 수 있지만 문자 조작에 자주 사용되는 내장 기능은 간단한 솔루션을 즉시 제공하지 못할 수도 있습니다. 이 목표를 효과적으로 달성하기 위한 과제와 대안적 접근 방식을 살펴보겠습니다.

현재 솔루션

질문에는 두 가지 기존 접근 방식이 제시됩니다.

  • remove_non_ascii_1()은 ASCII가 아닌 문자를 모두 제거합니다.
  • remove_non_ascii_2()는 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿