Heim > Backend-Entwicklung > C++ > Wie kann ich nur das erste Vorkommen einer Zeichenfolge in .NET ersetzen?

Wie kann ich nur das erste Vorkommen einer Zeichenfolge in .NET ersetzen?

Patricia Arquette
Freigeben: 2025-01-19 06:38:09
Original
525 Leute haben es durchsucht

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

Erstes Vorkommen einer Zeichenfolge in .NET ersetzen

.NET bietet mehrere Möglichkeiten, das erste Vorkommen einer bestimmten Zeichenfolge in einem bestimmten Text zu ersetzen.

Eine Möglichkeit besteht darin, eine benutzerdefinierte Methode zu verwenden, wie im folgenden Beispiel:

<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>
Nach dem Login kopieren

Diese Methode sucht nach dem ersten Vorkommen von „search“ in „text“ und ersetzt es durch „replace“. Die Logik ist wie folgt:

  • Verwenden Sie „IndexOf“, um den Index abzurufen.
  • Prüfen Sie, ob der negative Index nicht gefunden wurde.
  • Verkettet die Teilzeichenfolge vor dem Auftreten mit „replace“ und die verbleibende Teilzeichenfolge nach dem Auftreten.

Zum Beispiel:

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

str = ReplaceFirst(str, "brown", "quick");</code>
Nach dem Login kopieren

Darüber hinaus stellt .NET die Methode Regex.Replace(String, String, Int32) bereit, die über eine ähnliche Funktionalität verfügt. Aufgrund des leistungsstarken Parsers können jedoch höhere Laufzeitkosten anfallen.

Um die häufige Verwendung zu erleichtern, können Sie eine Erweiterungsmethode erstellen:

<code class="language-csharp">public static class StringExtension
{
  public static string ReplaceFirst(this string text, string search, string replace)
  {
     // ...与上面相同...
  }
}</code>
Nach dem Login kopieren

Mit dieser Erweiterungsmethode kann das Beispiel wie folgt vereinfacht werden:

<code class="language-csharp">str = str.ReplaceFirst("brown", "quick");</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich nur das erste Vorkommen einer Zeichenfolge in .NET ersetzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage