문자열 패턴으로 구분
조회수 659회
다음과 같이 문자열들이 있다고 했을 때, 날짜 패턴을 갖는 문자열만 가져오고 싶습니다.
패턴으로 특정 문자열만 걸러낼 수 있을까요??
# 데이터 예시
a = [
'가나다라마바사'
, '2020년 2월 2일 이날은..'
, '145692'
, '이건 몇년 전, 2020년 2월 2일...'
]
# 원하는 결과
a = [
'2020년 2월 2일 이날은..'
, '이건 몇년 전, 2020년 2월 2일...'
]
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)
- 감사합니다. 혹시나 했는데 역시나 re모듈을 사용하면 해결할 수 있군요..!! 거의 만능인 것 같습니다. ㅎㅎ 초보자 2022.1.25 09:50
- 혹시 문자열 구분문자 "" 앞에 r이나 u, b 등은 뭐라고 검색해야 알아볼 수 있는지 알 수 있을까요?? 초보자 2022.1.25 09:52
- @초보 : https://docs.python.org/3/reference/lexical_analysis.html#grammar-token-python-grammar-stringprefix nowp 2022.1.25 13:26
- 감사합니다! 초보자 2022.1.25 13:39
댓글 입력