Maison >développement back-end >C++ >Quel est le moyen le plus rapide de compter les occurrences de chaîne dans .NET?
Trouvez tout le nombre de fois dans le caractère spécifique ou la sous-position dans une chaîne donnée dans un .NET. Cet article se concentre sur la méthode la plus efficace et la plus pratique, en particulier lorsque la barre oblique (/) dans la chaîne statistique.
Tout d'abord, vous pouvez envisager d'utiliser le remplacement des caractères, par exemple:
ou, pour une sous-string d'une longueur de plus d'un caractère, vous pouvez utiliser:
<code class="language-csharp">string source = "/once/upon/a/time/"; int count = source.Length - source.Replace("/", "").Length;</code>
Mais pour les utilisateurs .NET 3.5, la solution plus concise et efficace était d'utiliser LINQ:
<code class="language-csharp">string haystack = "/once/upon/a/time/"; string needle = "/"; int needleCount = (haystack.Length - haystack.Replace(needle, "").Length) / needle.Length;</code>
ou, vous pouvez choisir:
<code class="language-csharp">int count = source.Count(f => f == '/');</code>
Étonnamment, la méthode initiale de suppression des caractères est environ 30% plus rapide que la méthode LINQ ou Split. Le test de référence de la chaîne "/ une fois / on / a / time /" génère les résultats du chronographe suivant:
<code class="language-csharp">int count = source.Split('/').Length - 1;</code>
Méthode de remplacement des caractères: 12 secondes
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!