문장에서 특정 단어를 추출하고 제외하는 함수

내용



문장내에 있는 각 단어를 추출하거나, where를 걸거나 할 때에, 매회 정규 표현 쓰는 것이 귀찮았으므로,
추출 or 제외하고 싶은 단어를 list내에 정리해 두면 편리하게 할 수 있는 녀석을 만들었다.

코드



sample.py
def regex_words(word_list):
    w_list = []
    forward_regex = "(^| )"
    backward_regex = "($| )"
    for w in word_list:
        w = str(w).strip()
        regex_word = f"{forward_regex}{w}{backward_regex}"
        w_list.append(regex_word)
    return "|".join(w_list)

t_words = ["test ", " test", " test ", "testterms"]
regex_sentence = ["test"]
r_words = regex_words(regex_sentence)
print("r_words: ", r_words)
for t in t_words:
    print(t)
    print(re.search(r"{}".format(r_words), t))
    print("*" * 100)


글쎄, 일단 실행해 보자.
t_words에 문장 등을 넣고 regex_sentence에 추출(제외)하고 싶은 단어를 넣는다.
그렇게 하면 아래와 같은 느낌으로 정규 표현으로 걸리는 단어를 판정 가능하게.


r_words를 사용하여,
df.str.replace(r_words, "")
토카
df[df.str.contains(r_words)]
라든지 슈퍼 편리.

좋은 웹페이지 즐겨찾기