문자열 패턴으로 구분

조회수 659회

다음과 같이 문자열들이 있다고 했을 때, 날짜 패턴을 갖는 문자열만 가져오고 싶습니다.

패턴으로 특정 문자열만 걸러낼 수 있을까요??

# 데이터 예시
a = [
'가나다라마바사'
, '2020년 2월 2일 이날은..'
, '145692'
, '이건 몇년 전, 2020년 2월 2일...'
]

# 원하는 결과
a = [
'2020년 2월 2일 이날은..'
, '이건 몇년 전, 2020년 2월 2일...'
]

1 답변

  • 좋아요

    1

    싫어요
    채택 취소하기

    정규표현식 ( regular expression ) 으로 가능합니다. 정규표현식 어렵지만, 조금 공부해 두면 유용합니다.

    # 데이터 예시
    a = [
    '가나다라마바사'
    , '2020년 2월 2일 이날은..'
    , '145692'
    , '이건 몇년 전, 2020년 2월 2일...'
    ]
    
    # 원하는 결과
    a_ = [
    '2020년 2월 2일 이날은..'
    , '이건 몇년 전, 2020년 2월 2일...'
    ]
    
    import re
    
    for s in a:
        res = re.search(r"\d{4}년 \d{1,2}월 \d{1,2}일", s)
        if res:
            print(s)
    
    
    a_filtered = [ s for s in a if re.search(r"\d{4}년 \d{1,2}월 \d{1,2}일", s)]        
    print(a_filtered)
    

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)