본문 바로가기
일상 기술노트/python

[python] 데이터 전처리 정규식을 사용한 Cleansing함수

by 인디코더 2020. 3. 18.
import re  
def cleansing(text):  
    pattern = '(\[a-zA-Z0-9\_.+-\]+@\[a-zA-Z0-9-\]+.\[a-zA-Z0-9-.\]+)' # e-mail 주소 제거  
    text = re.sub(pattern=pattern,repl=' ',string=text)

    pattern = '(http|ftp|https)://(?:[-\w.]|(?:\da-fA-F]{2}))+'  # url 제거
    text = re.sub(pattern=pattern,repl=' ',string=text)

    pattern = '([ㄱ-ㅎㅏ-ㅣ])+'                                  # 한글 자음, 모음 제거
    text = re.sub(pattern=pattern,repl=' ',string=text)

    pattern = '<[^>]*>'                                          # html tag 제거
    text = re.sub(pattern=pattern,repl=' ',string=text)

    pattern = '[\r|\n]'                                          # \r, \n 제거
    text = re.sub(pattern=pattern,repl=' ',string=text)

    pattern = '[^\w\s]'                                          # 특수기호 제거
    text = re.sub(pattern=pattern,repl=' ',string=text)

    pattern = re.compile(r'\s+')                                 # 이중 space 제거
    text = re.sub(pattern=pattern,repl=' ',string=text)
    return(text)
cleansing("이 영화 정말 돈 ㅈㄹ 아까운 영화야 ㅅㅂ... 절대 보지마라 너는 ㅋㅋㅋ\
          여기 사이트 한번 들어가 보숑 http://www.naver.com//sdfjsdalkjdsf?dfdsfdaok.com")
반응형