-
카테고리
-
세부 분야
데이터 분석
-
해결 여부
미해결
mask_phone_number 함수
21.02.07 09:37 작성 조회수 136
1
phone = '+82-10-1234-5678'
def mask_phone_number(phone):
num = phone.split('-')
num_len = len(num)//2 #전화번호의 가운데를 지정하기위해('/'을 2개한 이유는 정수형태로 나와서)
num[num_len] = re.sub('\w','*',num[num_len])
num[-1] = re.sub('(\d{2})(\d{2})', r'**\2', num[-1])
return '-'.join(num)
mask_phone_number(phone)
이렇게 만들었는데요
궁금한점이
num[num_len] = re.sub('\w','*',num[num_len])
num[-1] = re.sub('(\d{2})(\d{2})', r'**\2', num[-1])
이 부분에서
전화번호 가운데의 부분 num[num_len] = re.sub('\w','*',num[num_len]) 은 정규식 규칙에서 \w로 하고
전화번호 뒷부분 num[-1] = re.sub('(\d{2})(\d{2})', r'**\2', num[-1]) 에는 정규식 규칙에서\d로 하셨는데..
전화번호 가운데 부분도 숫자라서 \d로 해야 하는 거 아닌가요?
(규칙에서 \w를 \d로 바꿔도 잘 적용됩니다.)
\w는 (A-Z, a-z, 0-9 ) 문자, 숫자 다 가능해서 그렇게 쓰신건가요?
답변을 작성해보세요.
0
박조은
지식공유자2021.02.08
안녕하세요.
질문 주신 내용처럼 \d는 숫자만을 \w는 문자와 숫자를 다 포함하기 때문에 \w를 사용해도 괜찮습니다.
업무나 연구에 적용할 때는 상황에 맞게 사용하시면 됩니다.
답변 1