Heim >Backend-Entwicklung >C++ >Wie kann ich das Zeichen oder die String -Vorkommen in einer Zeichenfolge effizient zählen?
effizientes Zählen von Zeichen oder Substrings in Strings
Es gibt verschiedene Methoden, um das Vorkommen bestimmter Zeichen oder Unterstrings innerhalb einer größeren Zeichenfolge zu zählen, jeweils mit ihren eigenen Vor- und Nachteilen.
Eine gemeinsame Technik verwendet den String -Austausch. Zum Beispiel:
<code class="language-csharp">string source = "/once/upon/a/time/"; int count = source.Length - source.Replace("/", "").Length;</code>
Dies berechnet die Anzahl der "/" -Scharns, indem die Länge der String nach alle "/" -Pels aus der ursprünglichen Länge entfernt wird.
Ein anderer Ansatz beinhaltet die String -Spaltung:
<code class="language-csharp">string haystack = "/once/upon/a/time"; string needle = "/"; int needleCount = (haystack.Length - haystack.Replace(needle, "").Length) / needle.Length;</code>
Diese Methode spaltet die Zeichenfolge basierend auf dem Zielsubstring und bestimmt die Anzahl.
Für Entwickler, die .NET 3.5 oder höher verwenden, bietet Linq eine elegantere Lösung:
<code class="language-csharp">int count = source.Count(x => x == '/');</code>Die integrierten Zählfunktionen von Linq rationalisieren den Prozess erheblich.
Interessanterweise zeigen Benchmark -Tests häufig, dass die String -Ersatzmethode (das erste Beispiel) im Allgemeinen die schnellste ist. Während die Leistungsunterschiede zwischen diesen Methoden für die meisten Anwendungen häufig vernachlässigbar sind, erweist sich die String -Ersatzmethode konsistent als die effizienteste.
Das obige ist der detaillierte Inhalt vonWie kann ich das Zeichen oder die String -Vorkommen in einer Zeichenfolge effizient zählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!