c# remplacer la chaîne de caractères dans un fichier texte
Je cherche à remplacer la chaîne de caractères dans un fichier texte.
J'utilise le code suivant:
string text = File.ReadAllText(@"c:\File1.txt");
text = text.Replace("play","123");
File.WriteAllText(@"c:\File1.txt", text);
Il pas ne change que le mot "jouer" à "123", mais aussi de changer le mot "écran" à "dis123"
Comment résoudre ce problème?
OriginalL'auteur Quan | 2013-10-27
Vous devez vous connecter pour publier un commentaire.
Vous pouvez prendre le parti des "expressions Régulières" ici.
\b
Correspond à la limite de mot, Cela permettra de résoudre votre problème.Lire plus sur Les expressions régulières
OriginalL'auteur Sriram Sakthivel
Vous pouvez utiliser les extraits suivants du code
Aussi, c'est sensible à la casse assurez-vous que c'est ce que vous voulez.
mon mauvais essayez la version éditée. et il fonctionne très bien pour moi.
OriginalL'auteur serene
Une approche alternative, et non pas la regex de base pourrait être le suivant:
Définir quelques méthodes d'extension:
Utilisation:
Imprime:
OriginalL'auteur ebb
Essayez de la modifier à
mais de cette façon, elle ne remplacera pas quelque chose comme
play. play, play;
OriginalL'auteur Anarion
Une autre technique que vous pouvez utiliser dans cette situation est d'ajouter plus reconnaissable des jetons dans le texte que vous souhaitez modifier.. par exemple:
deviendrait
OriginalL'auteur user230910