나중에 사용하기 위한 용도로 남기는 코드
SPECIALS = "".join(["?", "!", "'", '"',
'&',' ']) # 허용할 특수 문자
SPECIALS = re.escape(SPECIALS)
def preprocess(text: str):
# 특수 문자, 숫자 및 한글만 남기기
text = re.sub(f"[^0-9|{SPECIALS}|ㄱ-ㅣ|가-힣]+", "", text) # f-문자열을 적용시켜 SPECIALS를 넣어줌.
# 연속 공백 제거
text = re.sub(" +", " ", text)
# 좌우 불필요한 공백 제거
return text.strip()
한글에 해당하는 유니 코드 범위
def test(text: str):
text = re.sub(f'(\\S{{{1},}}?)\\1+', '\\1', text) # 한글 자음, 모음 반복 -> 1번으로 수정
return text
URL 검출하는 2가지 함수
def remove_URL(sen):
# URL 필터링
url = re.compile(r'https?://\S+|www\.\S+')
text = url.sub(r'', sen)
return text
def url_encode(sen):
"url 검출"
# URL 추출할 정규표현식 생성
url_regex = r"(https?:\/\/)?(www\.)?[-a-zA-Z0-9@:%._\+~#=]{2,256}\.[a-z]{2,6}\b([-a-zA-Z0-9@:%_\+.~#?&\/\/=]*)"
reg = re.compile(url_regex)
text = reg.sub(r'', sen)
return text
def remove_emoji(sen):
# 이모지 필터링
emoji_pattern = re.compile("["
u"\U0001F600-\U0001F64F" # emoticons
u"\U0001F300-\U0001F5FF" # symbols & pictographs
u"\U0001F680-\U0001F6FF" # transport & map symbols
u"\U0001F1E0-\U0001F1FF" # flags (iOS)
# u"\U00002702-\U000027B0" # 한국어 전처리 시 이 부분을 쓰면 안됨
# u"\U000024C2-\U0001F251"
"]+", flags=re.UNICODE)
text = emoji_pattern.sub(r'', sen)
return text
def html_unescape(sen):
text = html.unescape(sen)
return text
def remove_html(sen):
html=re.compile(r'<.*?>')
text = html.sub(r'', sen)
return text
def find_something(text):
something = re.compile(r'[a-zA-Z]')
something2 = re.compile(r'[a-zA-Z]+')
hashtag = re.compile(r'#')
if hashtag.search(text) == None:
pass
return 0
else:
return 1