Nachfolgende Funktion ermittelt, wie oft ein beliebige Zeichen bzw. eine ganze Zeichenfolge in einem String vorkommt. Hierbei kann optional angegeben werden, ob die Groß-/Kleinschreibung berücksichtigt werden soll oder nicht. ''' <summary> ''' Ermittelt die Anzahl gesuchter Zeichen oder Zeichenfolgen innerhalb eines Strings. ''' </summary> ''' <param name="Text">String, der durchsucht werden soll.</param> ''' <param name="Find">Zeichen oder Zeichenfolge, die gesucht wird.</param> ''' <returns>Anzahl Fundstellen</returns> ''' <remarks>Vergleichstyp: StringComparison.InvariantCultureIgnoreCase)</remarks> Public Function StringCount(ByVal Text As String, ByVal Find As String) As Integer Return StringCount(Text, Find, StringComparison.InvariantCultureIgnoreCase) End Function ''' <summary> ''' Ermittelt die Anzahl gesuchter Zeichen oder Zeichenfolgen innerhalb eines Strings. ''' </summary> ''' <param name="Text">String, der durchsucht werden soll.</param> ''' <param name="Find">Zeichen oder Zeichenfolge, die gesucht wird.</param> ''' <param name="CompareType">Legt fest, ob Groß-/Kleinschreibung berücksichtigt ''' werden soll</param> ''' <returns>Anzahl Fundstellen</returns> Public Function StringCount(ByVal Text As String, ByVal Find As String, _ ByVal CompareType As StringComparison) As Integer ' Wenn Such-String leer, Funktion verlassen If IsNothing(Find) OrElse Find.Length = 0 Then Return -1 Dim count As Integer = 0 Dim pos As Integer = -1 ' Solange nach gesuchtem Zeichen/Zeichenfolge ' suchen, bis keine Fundstelle mehr vorhanden Do pos = Text.IndexOf(Find, pos + 1, CompareType) If pos >= 0 Then count += 1 Loop Until pos < 0 ' Rückgabewert: Anzahl Fundstellen Return (count) End Function Aufrufbeispiele: Dim sText As String = "Test-Aufruf" ' Rückgabewert ist 2 MsgBox(StrCount(sText, "T")) ' Rückgabewert ist 1 MsgBox(StrCount(sText, "T", StringComparison.InvariantCulture) ' Rückgabewert ist 0 MsgBox(StrCount(sText, "h")) ' Rückgabewert ist -1 MsgBox(StrCount(sText, "")) Dim sText As String = _ "Dieter Otter" & vbTab & "info@tools4vb.de" & vbTab & "www.vbarchiv.net" ' Rückgabewert ist 2 MsgBox(StrCount(sText, vbTab)) Dieser Tipp wurde bereits 35.043 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) Ein absolutes Muss - Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! - nahezu alle Tipps & Tricks und Workshops mit Beispielprojekten - Symbol-Galerie mit mehr als 3.200 Icons im modernen Look Weitere Infos - 4 Entwickler-Vollversionen (u.a. sevFTP für .NET), Online-Update-Funktion u.v.m. |
vb@rchiv CD Vol.6 Geballtes Wissen aus mehr als 8 Jahren vb@rchiv! Online-Update-Funktion Entwickler-Vollversionen u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein. |