2012-03-30 14 views
2

Mögliche Duplizieren:
Count specific character occurances in stringZählen Sie die Anzahl der Vorkommen eines Char in einer Zeichenfolge?

Ich habe eine delimeter in Zeichenfolge, die ich bestätigen müssen. Wie kann ich die Vorkommen dieses Chars zählen? Für jetzt habe ich eine nächste Funktion.

Private Shared Function CountChars(ByVal value As String) As Integer 
    Dim count = 0 
    For Each c As Char In value 
     If c = "$"c Then 
      count += 1 
     End If 
    Next 
    Return count 
End Function 

Jede alternative Lösung, die besser aussieht?

+1

http://stackoverflow.com/questions/5193893/count-spezifisches- character-procurances-in-string hat Ihre Antwort – Marco

+0

Ihr Code ist in Ordnung :) Vielleicht machen Sie es generisch, indem Sie das Zeichen als Parameter angeben. – Bas

Antwort

6

Oder Sie könnten LINQ verwenden ..

Private Function CountChars(ByVal value As String) As Integer 

    Return value.ToCharArray().Count(Function(c) c = "$"c) 

End Function 

Wie Meta-Knight darauf hingewiesen hat, kann verkürzt werden :

Private Shared Function CountChars(ByVal value As String, Byval delim as String) As Integer 

    Return Len(value) - Len(Replace(value, delim, "")) 

End Function 
+2

Schöne Antwort, aber Sie können die '.ToCharArray()' entfernen, die nicht benötigt wird! –

+1

Ich würde argumentieren, dass die CountChars-Funktion nicht einmal benötigt wird, weil der Code so kurz ist. Sie könnten einfach die Count-Methode direkt aufrufen. –

+0

Ich bevorzuge ... 'Value.Split (" $ "c) .Length-1' –

1

Sie können die Anzahl der Ereignisse auf eine andere Weise überprüfen. Sehen Sie den folgenden Code, wenn Sie es besser finden, können Sie das verwenden.

value.Count(Function(c) c = "$"c) 
2

Einfachstes und vielseitigste Art, wie ich denken kann:

Dim Occurrences As Integer 
    Dim Start As Integer 
    Dim Found As Integer 
    Do 
     Start = Found + 1 
     Found = InStr(Start, "ENTERTAINMENT", "E") 
     If Found = 0 Then Exit Do 
     Occurrences += 1 
    Loop 
Verwandte Themen