Maison  >  Article  >  développement back-end  >  Comment implémenter le remplacement de mots sensibles en Python

Comment implémenter le remplacement de mots sensibles en Python

coldplay.xixi
coldplay.xixioriginal
2020-10-23 14:38:4317910parcourir

Comment implémenter le remplacement de mots sensibles en python : versez d'abord le texte du mot sensible ; puis lorsque l'utilisateur saisit le mot sensible et que la correspondance est réussie, utilisez [*] pour le remplacer, le code est [new_string = string.replace(mots,"* "*len(mots))].

Comment implémenter le remplacement de mots sensibles en Python

Comment implémenter le remplacement de mots sensibles en python :

Réflexion

Cette question est pratiquée Il s’agit d’un remplacement de chaîne, mais si vous n’y faites pas attention, il est facile de considérer le processus comme simple. Le processus impliquera l'utilisation de méthodes récursives. L'utilisation de python2 sous Windows implique également une conversion d'encodage. Ce qu'il faut considérer, c'est qu'après avoir filtré la chaîne une fois, le filtrage peut ne pas être terminé. Par exemple, après avoir filtré une fois et supprimé les caractères sensibles après la chaîne. remplacement, les mots sensibles sont nouvellement formés dans la chaîne restante. Cette situation doit être résolue par récursion. Le remplacement peut être considéré comme terminé jusqu'à ce que le résultat après filtrage et remplacement soit le même qu'avant le filtrage, sinon il y aura une omission dans la logique.

Écrire un script

Le code est le suivant :

# -*- 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:"))

Exécuter les résultats du test :

Comment implémenter le remplacement de mots sensibles en Python

Recommandations d'apprentissage gratuites associées : tutoriel Python (vidéo)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn