Python 문자열에서 영숫자가 아닌 문자 제거

Shivam Arora 2023년1월30일
  1. isalnum()메서드를 사용하여 Python 문자열에서 영숫자가 아닌 모든 문자 제거
  2. filter()함수를 사용하여 Python 문자열에서 영숫자가 아닌 모든 문자 제거
  3. 정규식을 사용하여 Python 문자열에서 영숫자가 아닌 모든 문자 제거
Python 문자열에서 영숫자가 아닌 문자 제거

영숫자 문자에는 문자 집합의 26 개 문자와 0에서 9까지의 숫자가 혼합되어 있습니다. 영숫자가 아닌 문자에는+@와 같이 문자 나 숫자가 아닌 문자가 포함됩니다.

이 자습서에서는 Python의 문자열에서 영숫자가 아닌 문자를 제거하는 방법에 대해 설명합니다.

isalnum()메서드를 사용하여 Python 문자열에서 영숫자가 아닌 모든 문자 제거

isalnum()메소드를 사용하여 주어진 문자 또는 문자열이 영숫자인지 여부를 확인할 수 있습니다. 문자열에서 각 문자를 개별적으로 비교할 수 있으며, 영숫자이면join()함수를 사용하여 결합합니다.

예를 들면

string_value = "alphanumeric@123__"
s = "".join(ch for ch in string_value if ch.isalnum())
print(s)

출력:

alphanumeric123

filter()함수를 사용하여 Python 문자열에서 영숫자가 아닌 모든 문자 제거

filter()함수는 반복 가능한 객체의 구성 요소에서 반복자를 생성하고 함수를 사용하여 객체의 요소를 필터링하는 데 사용됩니다.

문제의 경우 문자열이 객체이고isalnum()함수를 사용하여 주어진 문자열에 영숫자 문자가 포함되어 있는지 여부를 각 문자를 확인하여 확인합니다. join()함수는 모든 문자를 결합하여 문자열을 반환합니다.

예를 들면

string_value = "alphanumeric@123__"
s = "".join(filter(str.isalnum, string_value))
print(s)

출력:

alphanumeric123

이 방법은 Python 3에서 작동하지 않습니다.

정규식을 사용하여 Python 문자열에서 영숫자가 아닌 모든 문자 제거

정규식은 패턴의 특정 구문을 활용하여 다양한 문자열 또는 문자열 세트를 일치시키는 데 도움이되는 예외적 인 문자 그룹입니다. 정규식을 사용하기 위해 re 모듈을 가져옵니다.

이 모듈의sub()함수를 사용하여 영숫자가 아닌 문자와 일치하는 모든 문자열을 빈 문자로 바꿀 수 있습니다.

예를 들면

import re

string_value = "alphanumeric@123__"
s = re.sub(r"[\W_]+", "", string_value)
print(s)

출력:

alphanumeric123

또는 다음 패턴을 사용할 수도 있습니다.

import re

string_value = "alphanumeric@123__"
s = re.sub(r"[^a-zA-Z0-9]", "", string_value)
print(s)

출력:

alphanumeric123

관련 문장 - Python String