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

https://www.vbarchiv.net
Rubrik: Variablen/Strings · String-Operationen   |   VB-Versionen: VB627.02.12
NullTrim einmal anders

Eine elegante Lösung, um einen String von NULL Zeichen zu befreien...

Autor:   Ralf SchlegelBewertung:  Views:  8.039 
www.vb-zentrum.deSystem:  Win9x, WinNT, WinXP, Win7, Win8, Win10, Win11kein Beispielprojekt 

Um die lästigen Nullzeichen in einem String zu entfernen haben wir in der Regel eine kleine Funktion mit Namen NullTrim oder ähnlich in unserem Programmcode. Diese Funktion entfernt die eventuell vorhandenen Nullzeichen am Ende eines Strings und gibt diesen bereinigt zurück. Sicher kennen Sie diese Funktion, die i.d.R. folgendemaßen aussieht:

Public Function NullTrim(ByVal s As String) As String
  Dim p As Long
 
  p = InStr(s, vbNullChar)
  If p > 0 Then
    NullTrim = Left$(s, p - 1)
  Else
    NullTrim = s
  End If
End Function

Erhalten wir nun aus einem API-Aufruf einen String zurück, so wird dieser in der Regel folgendermaßen bereinigt:

retString = NullTrim(retString)

Diese Funktion ist allerdings gar nicht nötig, da wir das auch mit einem internen VBA Befehl als Einzeiler lösen können:
Hierbei handelt es sich um die Funktion Split, die wir bitten unseren String in ein durch Nullzeichen getrenntes Array zu zerlegen und gleichzeitig das erste Element (Index 0) zurückzuliefern. Wir müssen also kein Array für die Funktionsrückgabe anlegen! Das Ganze sieht dann als Einzeiler folgendermaßen aus:

retString = Split(retString, vbNullChar, 2)(0)

Enthält der übergeben String keine Nullzeichen, so wird dennoch ein Element durch die Funktion Split angelegt, das dem übergebenen String entspricht! - Eine absolut sichere Sache, nicht wahr?



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.