반응형
Python에서 정규표현식을 활용하여 한글 혹은 영어만 남기거나
제거하는 코드를 간략하게 정리해 보겠습니다.
한글만 추출, 제거
re.sub 함수 내 정규표현식에서 자모는 ㄱ-ㅣ, 온전한 글자는 가-힣으로 커버하며,
아래와 같이 ^ 유무의 차이로 한글만 남기기 혹은 한글만 제거를 모두 수행할 수 있습니다.
또한, 공백의 포함/제거 여부도 \s 포함 여부로 같이 조정할 수 있습니다.
import re
my_str = "안녕하세요 ㅎㅎ. Hello World! 12345?"
kor_str = re.sub(r"[^ㄱ-ㅣ가-힣\s]", "", my_str) # 한글 + 공백만 남기기
not_kor_str = re.sub(r"[ㄱ-ㅣ가-힣]", "", my_str) # 한글만 제거하기
not_zamo_str = re.sub(r"[^가-힣]", "", my_str) # 자모가 아닌 한글만 남기기(공백 제거)
print(kor_str) # 안녕하세요 ㅎㅎ
print(not_kor_str) # . hello world! 12345?
print(not_zamo_str) # 안녕하세요
영문만 추출, 제거
영문은 소문자는 a-z, 대문자는 A-Z로 커버할 수 있습니다.
같은 원리로 ^ 유무로 영어만 남기기 혹은 제거 여부를 구분해주실 수 있습니다.
import re
my_str = "안녕하세요 ㅎㅎ. Hello World! 12345?"
eng_str = re.sub(r"[^a-zA-Z\s]", "", my_str) # 영문자 + 공백만 남기기
not_eng_str = re.sub(r"[a-zA-Z]", "", my_str) # 영문자만 제거하기
lower_eng_str = re.sub(r"[^a-z]", "", my_str) # 소문자만 남기기
print(eng_str) # Hello World
print(not_eng_str) # 안녕하세요 ㅎㅎ. ! 12345?
print(lower_eng_str) # elloorld
'Python > Utils' 카테고리의 다른 글
파이썬 소인수분해 함수 : sympy 모듈의 factorint (0) | 2022.10.10 |
---|---|
구글 코랩(Colab)에서 파일을 업로드하는 3가지 방법 (0) | 2022.08.23 |
파이썬 활용 pdf 파일 내 텍스트 추출 방법 정리(pypdf2, tika) (0) | 2022.08.22 |