7
votes

Comment remplacer par une expression régulière en minuscule en python

Je veux rechercher des mots clés (les clés seraient dynamiques) et remplacez-les dans un certain format. Par example: Ces données xxx

ont dû être converties en xxx

voici mon code: xxx

Et cela fonctionne bien, je ne peux que convertir le dernier paramètre en minuscule. Ceci convertit comme celui-ci: xxx

Comment puis-je convertir le dernier paramètre en minuscule? Il semble que Python ne puisse pas compiler le signe \ l.


2 commentaires

Il n'y a pas besoin de tags supplémentaires qui ne transmettent pas plus d'informations, Zomboide


regex est la balise pour des expressions régulières ici sur le débordement de la pile.


3 Réponses :


11
votes

Vous pouvez utiliser une fonction pour remplacer: xxx


0 commentaires

3
votes

Pas besoin d'utiliser REGEX

>>> keys = ["cat", "dog", "mouse"]
>>> text = "Cat dog cat cloud miracle DOG MouSE"
>>> for w in text.split():
...     if w.lower() in keys:
...        print "[%s]%s" %(w,w.lower()),
...     else:
...        print w,
...
[Cat]cat [dog]dog [cat]cat cloud miracle [DOG]dog [MouSE]mouse


0 commentaires

2
votes

de votre solution proposée, je suppose que je n'ai pas besoin de garder les clés comme une liste (je vais utiliser un ensemble, pour faire la recherche plus rapide). Cette réponse suppose également que tous les mots du texte sont séparés par un espace (que je vais utiliser pour les rejoindre). Donnez celles-ci, vous pouvez utiliser: xxx

accordé, cet appelle Word.Lower () deux fois. Vous pouvez éviter cela (et toujours utiliser une approche similaire) en utilisant deux compréhensions de liste (ou, en réalité, des expressions de générateur): xxx


0 commentaires