Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB6 | 10.08.07 |
StrCount - Zeichen(folge) in einem String zählen Ermittelt wie oft ein beliebiges Zeichen bzw. eine Zeichenfolge in einem String vorkommt. Sowohl Case sensitiv oder ohne Case sensitiv. | ||
Autor: Dieter Otter | Bewertung: | Views: 31.309 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Nachfolgender Code ermittelt, wie oft ein beliebige Zeichen bzw. eine ganze Zeichenfolge in einem String vorkommt. Hierbei kann optional angegeben werden, ob die exakte Groß-/Kleinschreibung berücksichtigt werden soll oder nicht.
' Anzahl Zeichen(folgen) innerhalb eines Strings ermitteln Public Function StrCount(ByVal sText As String, _ ByVal sFind As String, _ Optional ByVal CompareMethod As VbCompareMethod = vbTextCompare) As Long ' Ist ein Such-String angegeben? If Len(sFind) = 0 Then StrCount = -1: Exit Function Dim nCount As Long Dim nPos As Long ' Solange nach gesuchtem Zeichen/Zeichenfolge ' suchen, bis keine Fundstelle mehr vorhanden Do nPos = InStr(nPos + 1, sText, sFind, CompareMethod) If nPos > 0 Then nCount = nCount + 1 Loop Until nPos = 0 StrCount = nCount End Function
Beispiel für den Aufruf:
Dim sText as String sText = "Test-Aufruf" MsgBox StrCount(sText, "T") ' Rückgabewert ist 2 MsgBox StrCount(sText, "T", vbBinaryCompare) ' Rückgabewert ist 1 MsgBox StrCount(sText, "h") ' Rückgabewert ist 0 MsgBox StrCount(sText, "") ' Rückgabewert ist -1
Dim sText As String sText = "Dieter Otter" & vbTab & "info@tools4vb.de" & vbTab & "www.vbarchiv.net" MsgBox StrCount(sText, vbTab) ' Rückgabewert ist 2