vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#

https://www.vbarchiv.net
Rubrik: Variablen/Strings · String-Operationen   |   VB-Versionen: VB6, VBA29.07.15
Beliebige Zeichen am Anfang und/oder Ende eines Strings entfernen

Drei neue Funktionen für die String-Manipulation in VB6/VBA: TrimLeft, TrimRight und TrimAll

Autor:   Dieter OtterBewertung:  Views:  8.139 
www.tools4vb.deSystem:  WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Die Standard-Funktionen "Trim", "LTrim" und "RTrim" kennt wohl jeder. Mit diesen Funktionen lassen sich Leerzeichen am Anfang und/oder Ende eines Strings entfernen.

Was aber, wenn man andere Zeichen am Anfang/Ende des Strings entfernen möchte, z.B. Zeilenumbrüche, Null-Zeichen etc. ?

Hierfür gibt es ab sofort drei neue Funktionen, die Sie einfach nur in ein Modul übernehmen müssen.

' Entfernt alle angegebenen Zeichen links vom String
Public Function TrimLeft(ByVal Value As String, Optional ByVal Char As String = " ", _
  Optional ByVal nCount As Long = 0) As String
 
  If Char = " " Then
    TrimLeft = LTrim$(Value)
  Else
    Dim nLen As Long
 
    nLen = Len(Char)
    If nCount > 0 Then
      Dim i As Long
      While Len(Value) > 0 And Left$(Value, nLen) = Char And i < nCount
        Value = Mid$(Value, nLen + 1)
        i = i + 1
      Wend
    Else
      While Len(Value) > 0 And Left$(Value, nLen) = Char
        Value = Mid$(Value, nLen + 1)
      Wend
    End If
  End If
 
  TrimLeft = Value
End Function
' Entfernt alle angegebenen Zeichen rechts vom String
Public Function TrimRight(ByVal Value As String, Optional ByVal Char As String = " ", _
  Optional ByVal nCount As Long = 0) As String
 
  If Char = " " Then
    TrimRight = RTrim$(Value)
  Else
    Dim nLen As Long
 
    nLen = Len(Char)
    If nCount > 0 Then
      Dim i As Long
      While Len(Value) > 0 And Right$(Value, nLen) = Char And i < nCount
        Value = Left$(Value, Len(Value) - nLen)
        i = i + 1
      Wend
    Else
      While Len(Value) > 0 And Right$(Value, nLen) = Char
        Value = Left$(Value, Len(Value) - nLen)
      Wend
    End If
  End If
 
  TrimRight = Value
End Function
' Entfernt alle angegebenen Zeichen links und rechts vom String
Public Function TrimAll(ByVal Value As String, Optional ByVal Char As String = " ", _
  Optional ByVal nCount As Long = 0) As String
 
  TrimAll = TrimRight(TrimLeft(Value, Char, nCount), Char, nCount)
End Function

Über den zusätzlichen optionalen Parameter nCount kann die Anzahl der Zeichen/Zeichenketten festgelegt werden, die entfernt werden sollen.



Anzeige

Kauftipp Unser Dauerbrenner!Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv  Vol.6

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.
 
 
Copyright ©2000-2024 vb@rchiv Dieter OtterAlle Rechte vorbehalten.


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.