Regex pour un remplacement précis de chaîne au niveau des mots
La tâche consiste à remplacer uniquement des mots entiers dans une chaîne, à l'exclusion des correspondances partielles. Pour y parvenir, la question suggère d'utiliser du code VB ou C#. Bien que le contexte se concentre sur VB pour le code SSRS 2008, une réponse en C# est également fournie à titre de référence.
Utilisation d'expressions régulières pour faire correspondre des mots entiers
L'approche la plus simple consiste à utiliser des expressions régulières (regex) avec le métacaractère b, qui dénote les limites des mots. Cette technique garantit que le remplacement ne se produit que lorsqu'un mot entier correspond au modèle.
Implémentation C#
string input = "test, and test but not testing. But yes to test"; string pattern = @"\btest\b"; string replace = "text"; string result = Regex.Replace(input, pattern, replace); Console.WriteLine(result);
Implémentation VB (SSRS 2008)
Dim input As String = "test, and test but not testing. But yes to test" Dim pattern As String = "\btest\b" Dim replace As String = "text" Dim result As String = Regex.Replace(input, pattern, replace) Console.WriteLine(result)
Insensible à la casse Correspondance
Pour effectuer un remplacement insensible à la casse, utilisez l'indicateur RegexOptions.IgnoreCase :
Regex.Replace(input, pattern, replace, RegexOptions.IgnoreCase);
Regex.Replace(input, pattern, replace, RegexOptions.IgnoreCase)
En employant des expressions régulières et des limites de mots correspondantes, vous pouvez remplacer efficacement des mots entiers dans une chaîne, empêchant ainsi les modifications involontaires impliquant des correspondances partielles.
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!