ホームページ  >  記事  >  バックエンド開発  >  Python で機密性の高い単語の置換を実装する方法

Python で機密性の高い単語の置換を実装する方法

coldplay.xixi
coldplay.xixiオリジナル
2020-10-23 14:38:4317910ブラウズ

Python で機密単語の置換を実装する方法: 最初に機密単語のテキストを入力し、次にユーザーが機密単語を入力して一致が成功したら、それを [*] に置き換えます。コードは [new_string = string. replace(単語,"* "*len(単語))]。

Python で機密性の高い単語の置換を実装する方法

機密性の高い単語の置換を実装する 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 チュートリアル(ビデオ)

以上がPython で機密性の高い単語の置換を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。