문제
요약
- 전화번호 문자열이 주어지면, 뒷 네 자리를 제외한 나머지 자리를 ‘*’ 로 대체
분류
- 문자열
- 정규표현식
풀이
1. 내 풀이
- re.sub 메소드는 매치된 부분을 지정한 문자열로 치환할 수 있다.
- (?=…) 은 전방탐색을 의미하는 것으로, … 부분이 일치하는 패턴을 찾아야 매치를 시작한다.
- 즉, 4자리의 숫자 앞에 있는 숫자를 찾아 ‘*’ 문자로 바꾼다.
- 뒤의 4자리만 ‘*‘로 치환되지 않고 나머지 앞의 숫자들은 모두 ‘*‘로 치환된다.
import re
def solution(s):
return re.sub('\d(?=\d{4})', '*', s)