Remplacer la première occurrence d'une chaîne dans .NET
.NET propose plusieurs façons de remplacer la première occurrence d'une chaîne spécifique dans un texte donné.
Une solution consiste à utiliser une méthode personnalisée, comme dans l'exemple suivant :
<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>
Cette méthode recherche la première occurrence de « search » dans « text » et la remplace par « replace ». La logique est la suivante :
Par exemple :
<code class="language-csharp">string str = "The brown brown fox jumps over the lazy dog"; str = ReplaceFirst(str, "brown", "quick");</code>
De plus, .NET fournit la méthode Regex.Replace(String, String, Int32)
, qui a des fonctionnalités similaires. Cependant, il peut entraîner des coûts d'exécution plus élevés en raison de son analyseur puissant.
Afin de faciliter une utilisation fréquente, vous pouvez créer une méthode d'extension :
<code class="language-csharp">public static class StringExtension { public static string ReplaceFirst(this string text, string search, string replace) { // ...与上面相同... } }</code>
En utilisant cette méthode d'extension, l'exemple peut être simplifié comme suit :
<code class="language-csharp">str = str.ReplaceFirst("brown", "quick");</code>
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!