J'ai une colonne de texte de l'exemple de cadre de données contenant des chaînes, y compris le mot 'eng' et le mot "moteur". Je veux remplacer le mot "eng" avec le mot "moteur". J'utilise le code ci-dessous: p> mais cela gâche mon texte dans ma deuxième rangée. La deuxième ligne devient p> est un moyen de faire le mot remplacer afin que cela ne remplace que lorsque le mot entier indique "eng 'seulement? p> p>
3 Réponses :
Enveloppez votre mot-clé avec le caractère de la limite de mot Si vous avez plusieurs mots-clés à remplacer de cette manière, passez un dictionnaire à \ b code>:
remplacer code> par le REGEX = true code> interrupteur: p>
Jolie photo ! :-)
@ W-b, lequel :-) la photo de Coldspeed?
@ W-b merci! Nouvel An, nouveau profil :)
Bonne photo avec changement de nouvel an! Bingo! Bonne année.
@pygo Tyvm, bonne année!
Vous pouvez essayer des expressions régulières comme:
import re df['Text'] = df['Text'].map(lambda x: re.sub(r'\beng\b', 'engine', x))
Ajout d'un blanc et corrigé ce problème à partir de votre propre code update p>
Hmm, cela correspondra toujours à " blaheng code> ', quand il devrait correspondre juste " eng' code>.
Cela doit inclure les limites de mots pour correspondre à la chaîne exacte.
et ne pas correspondre aux cas où la chaîne se termine par ENG. Ce n'est pas une mauvaise solution par aucun moyen si vous connaissez les cas de bord, mais ce n'est pas très robuste.
@ColdSpeed Yep Vous avez raison, et mettez à jour ... Je pensais que je devrais supprimer, mais que de nombreuses personnes ont déjà vu ma faute, je voudrais le corriger.
@pygo vérifier la mise à jour
@Paritoshsingh Vérifiez la mise à jour et merci de l'avoir signalé
@ W-b, thnx, bonne année!
@pygo vous aussi:> bonne année