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:
string source = "/once/upon/a/time/"; int count = source.Length - source.Replace("/", "").Length;
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:
string haystack = "/once/upon/a/time"; string needle = "/"; int needleCount = (haystack.Length - haystack.Replace(needle, "").Length) / needle.Length;
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:
int count = source.Count(x => x == '/');
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!