Maison >développement back-end >C++ >Comment puis-je remplacer des mots entiers dans une chaîne sans affecter les correspondances partielles ?

Comment puis-je remplacer des mots entiers dans une chaîne sans affecter les correspondances partielles ?

DDD
DDDoriginal
2025-01-05 12:03:41799parcourir

How Can I Replace Whole Words in a String Without Affecting Partial Matches?

Remplacement de mots entiers par String.Replace

Dans le traitement des chaînes, il devient souvent nécessaire de remplacer des mots spécifiques dans un texte. Cependant, l'utilisation de String.Replace peut entraîner des correspondances partielles indésirables. Cet article explore une technique permettant de garantir que seuls des mots entiers sont remplacés.

Utilisation d'expressions régulières

Pour remplacer uniquement des mots entiers, les expressions régulières constituent une solution pratique. Le métacaractère b est utilisé pour faire correspondre les limites des mots, ce qui permet d'identifier la présence complète du mot.

Exemple C#

En C#, le code suivant illustre cette approche :

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);

Exemple VB.NET

Pour VB.NET, le code équivalent est :

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)

Points clés

  • Utilisez le métacaractère b dans le modèle d'expression régulière pour faire correspondre les limites des mots.
  • Pensez à utiliser RegexOptions.IgnoreCase si nécessaire.
  • Cette technique remplace des mots entiers, laissant les correspondances partielles restent intactes.
  • Les expressions régulières fournissent un outil polyvalent pour la manipulation avancée de texte et la correspondance de modèles.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn