Maison > développement back-end > C++ > Comment remplacer uniquement la première occurrence d'une chaîne dans .NET ?

Comment remplacer uniquement la première occurrence d'une chaîne dans .NET ?

DDD
Libérer: 2025-01-19 06:09:13
original
368 Les gens l'ont consulté

How to Replace Only the First Occurrence of a String in .NET?

Rechercher et remplacer la première occurrence d'une chaîne dans .NET

Défi :

Remplacer la première occurrence d'une chaîne dans un texte donné est une tâche courante en programmation. Cet article explique comment procéder efficacement dans .NET.

Solution :

Afin de remplacer la première occurrence d'une chaîne dans .NET nous pouvons utiliser la méthode suivante :

<code class="language-csharp">string ReplaceFirst(string text, string search, string replace)
{
  int pos = text.IndexOf(search);
  if (pos < 0) return text;
  return text.Substring(0, pos) + replace + text.Substring(pos + search.Length);
}</code>
Copier après la connexion

Cette méthode prend trois paramètres : le texte d'origine, la chaîne à rechercher et la chaîne de remplacement. Il utilise d'abord IndexOf pour localiser l'index de la première occurrence de la chaîne de recherche dans le texte. Si aucune occurrence n'est trouvée (c'est-à-dire que pos est négatif), le texte original est renvoyé inchangé.

Ensuite, la méthode fonctionne en concaténant la sous-chaîne avant la première occurrence de la chaîne de recherche (de l'index 0 à pos), la chaîne de remplacement et la sous-chaîne après la chaîne de recherche (de l'index pos search.Length à la fin du texte ) pour construire une nouvelle chaîne.

Exemple :

Considérons l'exemple suivant :

<code class="language-csharp">string str = "The brown brown fox jumps over the lazy dog";

str = ReplaceFirst(str, "brown", "quick");</code>
Copier après la connexion

Après l'exécution de ce code, la valeur de str deviendra "Le renard brun rapide saute par-dessus le chien paresseux". La première occurrence de « marron » a été remplacée par « rapide ».

Notes supplémentaires :

    La méthode
  • Regex.Replace(String, String, Int32) peut également effectuer cette tâche, mais elle peut être plus coûteuse en termes de calcul que la méthode personnalisée présentée ici.
  • Pour les opérations fréquentes de remplacement de chaînes, envisagez d'étendre cette méthode en une méthode d'extension réutilisable de la classe String.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal