본문 바로가기
Python

[python] 정규식 한문 제거

by 퍼포먼스마케팅코더 2022. 8. 19.
반응형

python 정규식 한문 제거

이전에 파이썬으로 정규직이었는데 숫자를 제거를 하고 영문을 제거를 하고 이러한 것들 혹은 어떤 특정한 특수문자 사이에 있는 문자만 가지고 올 수 있는 기타 등등으로 정규식 관련됐었던 것들을 아까 말씀을 드렸었는데요. 이번에 아까 파이썬으로 아까 말씀드리는 거는 한문을 제거할 수 있는 정규식입니다. 제가 고전 문학과 관련했었던 것들을 보고 있었었는데 거기에 한 문이 너무 많더라고요 한문을 쫙 다 빼고 오로지 한글과 관련됐었던 것들을 보려고 하고 있었어요. 그랬는데 그래도 한문이 너무 많다. 보니까 만들었던 코딩이 바로 이겁니다. 

 

이거를 만들어 놨었었는데 거의 웬만한 정규식이 있고 코딩을 사용을 해보면 한 문이 다 제거를 해서 나오긴 해요. 어느 정도 좋은 점도 있긴 하지만 완벽하게 다 환문을 제거하지는 않습니다. 그게 아쉽더라고요 화면을 다 제거를 하면 좋을 텐데 제거를 못 하다 보니까 결국은 다른 방법으로 쓰기는 했는데 그리고 쓰는 이유가 따로 있었어요. 왜 한문 이거를 제거를 전기식으로 제거를 하려고 했느냐라는 게 왜 그러냐면 웹사이트에서 크롤링을 하지 않습니까?

 

크롤링을 아까 할 때 특히 셀레늄이죠. 글 쓸 때 크롬 드라이브에서 에러 문구가 뜨는 경우가 있어요. 어떤 특정 바이트는 우리가 사용하지 않습니다라고 해서 에러 문구가 떠서 경우가 있는데 해서 특정 학문적인 학문과 관련했었던 거를 제거를 하고자 해서 이 코딩해서 만들었거든요. 근데 결과로만 따져서 보자면 이거를 사용했을 때 에러가 나오기는 했어 그런데 한문을 제거를 하는 한문을 제거하니까 그림 많이 깔끔해져서 용도를 공유 차원에서 이런 게 있다라는 것만 참고만 해 주셔서 사용하시면 될 것 같습니다.

 

import re #정규식
#import emoji  #!pip install emoji  #이모티콘 제거용

#def remove_emoji(text):
#    return emoji.get_emoji_regexp().sub(u'', text)

n = 7

keyword = '화왕전'

file = open('C:/Users/user/raw/literature/키워드_포스팅_'+str(n)+'_'+str(keyword)+'.txt', 'r', encoding='utf-8-sig')
old_literature_text = file.read()

#print(old_literature_text)


special_char = '「」≪≫〉〈\/*?"<>|-․()' #특수문자
for c in special_char:
    if c in old_literature_text:
        old_literature_text = old_literature_text.replace(c, '')  # 특수 문자 제거
        old_literature_text = old_literature_text.replace("ㆍ", ",") #특수문자 변환
        old_literature_text = old_literature_text.replace(":", "는")
        old_literature_text = re.compile('[一-龥]').sub('', old_literature_text) # 정규식 한문 제거
        #old_literature_text = emoji.get_emoji_regexp().sub(u'', old_literature_text)
        #old_literature_text = re.compile('[一-龥]').sub('', old_literature_text) # 정규식 한문 제거
        
        #old_literature_text = re.compile('[^一-龥]').sub('', old_literature_text) # 정규식 한문 제거 검출
                
        #old_literature_text = re.compile(r'[가-힣]+?').sub('', old_literature_text)
        
print(old_literature_text)
반응형

댓글