파이썬에서 민감한 단어 대체를 구현하는 방법: 먼저 민감한 단어의 텍스트를 입력한 다음 사용자가 민감한 단어를 입력하고 일치에 성공하면 이를 [*]로 바꾸면 코드는 [new_string = string. 교체(단어,"*"*len(단어))].
Python에서 민감한 단어 대체를 구현하는 방법:
Idea
이 질문은 문자열 대체에 관한 것이지만 주의하지 않으면 프로세스를 단순화하기 쉽습니다. 이 프로세스에는 재귀적 방법을 사용하는 작업이 포함됩니다. Windows에서 python2를 사용하는 경우에도 인코딩 변환이 포함됩니다. 예를 들어 문자열을 한 번 필터링하고 문자열 뒤의 민감한 문자를 제거한 후에는 필터링이 완료되지 않을 수 있다는 점을 고려해야 합니다. 대체하면 나머지 문자열에는 민감한 단어가 새로 형성됩니다. 이 상황은 재귀를 통해 해결해야 합니다. 필터링 및 교체 후의 결과가 필터링 전과 동일할 때까지 교체가 완료된 것으로 간주할 수 있습니다. 그렇지 않으면 논리에 누락이 발생합니다.
스크립트 작성
코드는 다음과 같습니다.
# -*- coding: utf-8 -*- import os curr_dir = os.path.dirname(os.path.abspath(__file__)) filtered_words_txt_path = os.path.join(curr_dir,'filtered_words.txt') import chardet def filter_replace(string): string = string.decode("gbk") filtered_words = [] with open(filtered_words_txt_path) as filtered_words_txt: lines = filtered_words_txt.readlines() for line in lines: filtered_words.append(line.strip().decode("gbk")) print replace(filtered_words, string) def replace(filtered_words,string): new_string = string for words in filtered_words: if words in string: new_string = string.replace(words,"*"*len(words)) if new_string == string: return new_string else: return replace(filtered_words,new_string) if __name__ == '__main__': filter_replace(raw_input("Type:"))
테스트 결과 실행:
관련 무료 학습 권장사항: python tutorial(동영상)
위 내용은 Python에서 민감한 단어 대체를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!