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

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

DDD
Freigeben: 2025-01-19 06:09:13
Original
342 Leute haben es durchsucht

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

Suchen und ersetzen Sie das erste Vorkommen einer Zeichenfolge in .NET

Herausforderung:

Das Ersetzen des ersten Vorkommens einer Zeichenfolge in einem bestimmten Text ist eine häufige Aufgabe in der Programmierung. In diesem Artikel wird untersucht, wie dies in .NET effizient durchgeführt werden kann.

Lösung:

Um das erste Vorkommen einer Zeichenfolge in .NET zu ersetzen, können wir die folgende Methode verwenden:

<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 benötigt drei Parameter: den Originaltext, die zu suchende Zeichenfolge und die Ersatzzeichenfolge. Zuerst wird IndexOf verwendet, um den Index des ersten Vorkommens der Suchzeichenfolge im Text zu finden. Wenn kein Vorkommen gefunden wird (d. h. pos ist negativ), wird der Originaltext unverändert zurückgegeben.

Als nächstes verkettet die Methode die Teilzeichenfolge vor dem ersten Vorkommen der Suchzeichenfolge (von Index 0 bis pos), die Ersatzzeichenfolge und die Teilzeichenfolge nach der Suchzeichenfolge (von Index pos search.Length bis zum Ende des Textes). ), um eine neue Zeichenfolge zu erstellen.

Beispiel:

Betrachten Sie das folgende 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

Nachdem dieser Code ausgeführt wurde, wird der Wert von str zu „Der schnelle Braunfuchs springt über den faulen Hund“. Das erste Vorkommen von „braun“ wurde durch „schnell“ ersetzt.

Zusätzliche Hinweise:

    Die
  • Regex.Replace(String, String, Int32)-Methode kann diese Aufgabe ebenfalls ausführen, sie ist jedoch möglicherweise rechenintensiver als die hier vorgestellte benutzerdefinierte Methode.
  • Für häufige String-Ersetzungsvorgänge sollten Sie erwägen, diese Methode in eine wiederverwendbare Erweiterungsmethode der String-Klasse zu erweitern.

Das obige ist der detaillierte Inhalt vonWie ersetze ich nur das erste Vorkommen einer Zeichenfolge in .NET?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage