def solution(myStr):
myStr= list(myStr)
for i in range(len(myStr)):
if myStr[i] == 'a' or myStr[i] == 'b' or myStr[i] =='c' :
myStr[i] = '0'
k = ''.join(myStr).split('0')
answer = list( i for i in k if not i=='')
if answer==[]:
answer.append('EMPTY')
return answer
def solution(myStr):
answer = [x for x in myStr.replace('a', ' ').replace('b', ' ').replace('c', ' ').split() if x]
return answer if answer else ['EMPTY']
import re
def solution(myStr):
answer = [m for m in re.split('a|b|c',myStr) if m]
if len(answer)==0:
answer=["EMPTY"]
return answer
여기서 import re와 split('a|b|c',myStr)에 대해 공부해보자
1. re는 정규표현식인 regular expression의 약자
2. 특정 패턴에 상응하는 문자열을 '검색', '치환', '제거' 하는 기능
3. 정규표현식의 도움없이도 패턴을 찾는 작업(Rule 기반)은 불완전하거나, 작업의 cost가 높음
4. ex) 이메일 형식 판별, 전화변호 형식 판별, 숫자로만 이루어진 문자열 등
Python에서는 정규표현 처리를 하기 위해 표준 라이브러리인 re 모듈을 사용한다. 정규표현 패턴를 이용한 문자열의 추출이나, 치환, 분할 등이 가능하다.
이번 포스팅에서는 먼저 re모듈의 함수나 메소드에 대해서 설명한다.
출처: https://engineer-mole.tistory.com/189 [매일 꾸준히, 더 깊이:티스토리]