Python で機密単語の置換を実装する方法: 最初に機密単語のテキストを入力し、次にユーザーが機密単語を入力して一致が成功したら、それを [*] に置き換えます。コードは [new_string = string. replace(単語,"* "*len(単語))]。
機密性の高い単語の置換を実装する Python メソッド:
アイデア
この質問は実践されていますは文字列の置換ですが、注意しないとこのプロセスが単純であると考えてしまいがちです。このプロセスには再帰的メソッドの使用が含まれます。Windows での python2 の使用にはエンコード変換も含まれます。考慮すべき点は、文字列を 1 回フィルタリングした後、フィルタリングが完了しない可能性があることです。たとえば、1 回フィルタリングして文字列の後の機密文字を削除した後、置き換えると、残りの文字列に機密単語が新たに形成されます。この状況は再帰によって解決する必要があり、フィルタリングと置換後の結果がフィルタリング前と同じになるまで置換は完了したと見なされます。そうでない場合は、ロジックに漏れが生じます。
スクリプトを記述します
コードは次のとおりです:
# -*- 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 チュートリアル(ビデオ)
以上がPython で機密性の高い単語の置換を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。