8
votes

Remplacement de mots spécifiques dans une chaîne (Python)

Je voudrais remplacer les mots dans une phrase de chaîne telle que: xxx

Quelle est l'expression régulière pour remplacer les caractères de '$ $' (inclus) avec des noms / verbes véritables? < / p>


0 commentaires

4 Réponses :


1
votes
In [1]: import re

In [2]: re.sub('\$noun\$', 'the heck', 'What $noun$ is $verb$?')
Out[2]: 'What the heck is $verb$?'

0 commentaires

20
votes

Vous n'avez pas besoin d'une expression régulière pour cela. Je ferais

str = "What $noun$ is $verb$?"
print str.replace("$noun$", "the heck")


3 commentaires

Pourrait endormir le remplace ensemble ensemble: str.replace ("$ noun $", nom) .replace ("$ verbe $", verbe)


J'ai une base de données d'une liste de mots et de type (mot, type). Type serait nom, verbe, etc. Je dois vérifier quel type de mot il est avant que je le remplace. Comment feriez-vous cela?


HM, je ne suis pas sûr de suivre. Quel type de base de données? Si la base de données est petite, je le charrais en mémoire et le stockerais comme dictionnaire. La recherche du type serait simplement types [Word] .



5
votes

étant donné que vous êtes libre de modifier $ nom $ etc. à votre goût, meilleure pratique pour le faire de nos jours est probablement d'utiliser le format de la fonction de format sur une chaîne: xxx


0 commentaires

0
votes

Utilisez un dictionnaire pour contenir le modèle d'expression régulier et la valeur. Utilisez le report pour remplacer les jetons.

What ABC is DEF?


0 commentaires