정규표현식이란 Python 만의 기능이 아닌, 문자열을 다루는 여러 곳에서 사용되는 공통된 표현식이다.
!!잘 사용하면 정말 편리한 기능이다.
1. 정규식으로 휴대폰 번호 뒷자리 가리기
(1) 기존 반복문
peoples = '홍길동: 010-1234-5678 한사랑: 010-4321-8765 일지매: 010-2143-6587'
# 전화번호 뒷자리 숨기기
phone_X = []
for word in peoples.split(' '):
if len(word) == 13 and word[:3].isdigit() and word[4:8].isdigit() and word[9:13].isdigit(): # isdigit() : 문자열이 '숫자'로만 이루어져있는지 확인하는 함수
word = word[0:8] + '-XXXX'
phone_x.append(word)
else:
phone_x.append(word)
people_new = ' '.join(phone_x)
print(peoples_new)
# 결과 출력
홍길동: 010-1234-XXXX 한사랑: 010-4321-XXXX 일지매: 010-2143-XXXX
(2) 정규표현식
# 전화번호 뒷자리 숨기기
import re
re.sub(r'(\d{3}[-]\d{4})[-]\d{4}', r'\g<1>-XXXX', peoples)
# 전화번호 뒷자리 숨기기
import re
pat = re.compile(r'(\d{3}[-]\d{4})[-]\d{4}')
pat.sub(r'\g<1>-XXXX', peoples)
(3) 응용 - 주민번호 뒷자리 숨기기
# 이름과 주민번호가 섞여 있는 문자열
peoples = '홍길동: 800104-1049234 일지매: 760405-1052114'
# 주민번호 뒷자리 숨기기
import re
re.sub(r'(\d{6})[-]\d{7}', r'\g<1>-*******', peoples)
import re
pat = re.compile(r'(\d{6})[-]\d{7}')
pat.sub(r'\g<1>-*******', peoples)
'파이썬 > 데이터 다루기' 카테고리의 다른 글
[240911] 파이썬 #10 - 엑셀 파일 다루기 (0) | 2024.09.11 |
---|---|
[240911] 파이썬#09 파일 읽고 쓰기, 워드 클라우드 그리 (0) | 2024.09.11 |
[240910] #파이썬07 함수- 출력(Output) (0) | 2024.09.10 |
[240910] # 파이썬06 - 함수 (입력_Input) (0) | 2024.09.10 |
[240910] 복습 (0) | 2024.09.10 |