안녕하세요 파이썬과 관련하여 추가적으로 필요한 정보가 있으시면,
DATA101에서 확인 가능하십니다.
감사합니다.
안녕하세요, HELLO
이번에 특허청 특허 정보를 확인하게 되면서, 국내 출원/등록된 특허 데이터가 저장된 형태를 보게 되었습니다.
특허 정보는 아래와 같이, 특허 상태, 특허명(영문 포함), 특허 정보 등으로 구성되며,
이 중에서 특허명은 괄호()로 국문과 영문이 구분되어 있습니다.
국문 특허명과 영문 특허명을 구분해서 저장하며, 활용한 코드를 아래와 같이 공유합니다.
이번에는 PYTHON 정규식과 library re를 활용해서,
STEP 1. 괄호와 괄호 안 문자열 삭제
STEP 2. 괄호와 괄호 안 문자열 추출
이 두가지에 대해서 살펴보고자 합니다.
STEP 1. 괄호와 괄호 안 문자열 삭제
소스코드는 아래와 같이 정규표현식과 re.sub()를 이용해서 문자열을 수정할 수 있습니다.
# 국문 특허명
name_temp = '다이캐스팅용 알루미늄 합금 및 다이캐스팅 주물(aluminum alloy for die casting and a device manufatured using the same)'
# 정규표현식을 적용한 괄호 및 괄호 안 텍스트
rmve_bracket = "\(.*\)|\s-\s.*"
# re.sub(수정/변경할 문자열, 최종적으로 구성될 형태, 적용될 텍스트)
kor_temp = re.sub(rmve_bracket, '',name_temp)
print(kor_temp)
>>> '다이캐스팅용 알루미늄 합금 및 다이캐스팅 주물'
여기서 주의할 부분은 아래와 같이 두가지가 있습니다.
하나는, 정규표현식을 적용한 괄호 및 괄호 안 텍스트를 설정하는 것
- rmve_bracket = "\(.*\)|\s-\s.*"
두번째는, re.sub() 파라미터를 설정하는 것
- re.sub(수정/변경할 문자열, 최종적으로 구성될 형태, 적용될 텍스트)
이를 적용하게 되면, 괄호 및 괄호 안 텍스트는 삭제되어, 최종적으로 아래와 같이 출력됩니다.
- 다이캐스팅용 알루미늄 합금 및 다이캐스팅 주물
STEP 2. 괄호와 괄호 안 문자열 추출
소스코드는 아래와 같이 정규표현식과 re.findall()를 이용해서 문자열을 수정할 수 있습니다.
# 영문 특허명
name_temp = '다이캐스팅용 알루미늄 합금 및 다이캐스팅 주물(aluminum alloy for die casting and a device manufatured using the same)'
# 정규표현식을 활용한 괄호 안 텍스트 설정
remain_brakcet = r'\(([^)]+)'
# re.findall(텍스트 구성, 찾을 텍스트)
# findall() 함수는 list형식으로 저장되어, 이후에 0번째 리스트만 추출하면 된다.
eng_temp = re.findall(remain_brakcet, name_temp)[0]
print(eng_temp)
>>> 'aluminum alloy for die casting and a device manufatured using the same'
여기서 주의할 부분은 아래와 같이 두가지가 있습니다.
하나는, 정규표현식을 적용한 괄호 안 텍스트를 설정하는 것
- remain_brakcet = r'\(([^)]+)'
두번째는, re.findall() 파라미터를 설정하는 것
- re.findall(텍스트 구성, 찾을 텍스트)
- findall() 함수는 list형식으로 저장되어, 이후에 0번째 리스트만 추출하면 됩니다
이를 적용하게 되면, 괄호 및 괄호 안 텍스트만 추출되어, 최종적으로 아래와 같이 출력됩니다.
- aluminum alloy for die casting and a device manufatured using the same
■ 마무리
이번에는 파이썬 정규식을 활용한 괄호와 괄호 안 문자열 삭제 또는 추출에 대해서 알아봤습니다.
감사합니다.
위 포스팅은 카카오 티스토리, 네이버 블로그에도 동일하게 업로드합니다.
'PROGRAMMING > Python' 카테고리의 다른 글
[PYTHON] 사칙연산을 위한 산술 연산자 (Arithmetic Operators) 정리 (0) | 2022.02.15 |
---|---|
[PYTHON] 폴더/파일 하위 디렉토리 복사 및 동기화 (os, shutil, sync) (0) | 2022.01.13 |
[PYTHON] 파이썬 웹 크롤링 (무한 스크롤 크롤링/SCROLL_DOWN) (0) | 2021.10.24 |
[PYTHON] 파이썬 Selenium 웹페이지 스크롤하기 (0) | 2021.10.20 |
[PYTHON] 파이썬 이모지(emoji) 제거 (0) | 2021.10.19 |
댓글