Rubrik: Variablen/Strings · String-Operationen | VB-Versionen: VB6 | 13.10.10 |
Doppelte Zeichen aus einem String entfernen Eine kleine Funktion, mit der sich doppelte bzw. hintereinander mehrfach vorkommende gleiche Zeichen aus einem String entfernen lassen. | ||
Autor: Dieter Otter | Bewertung: | Views: 19.909 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Sicherlich kennen Sie das Problem: Bei der Eingabe von Daten gibt der Anwender aus Versehen statt einem Leerzeichen, zwei oder gar noch mehr Leerzeichen ein - bspw. bei der Eingabe von "Nachname Vorname". Die Daten werden dann natürlich auch so gespeichert, wie sie eingegeben wurden. Eine korrekte Sortierung nach "Nachname Vorname" ist in diesem Fall allerdings nicht mehr gegeben! Weil das zusätzliche Leerzeichen sich ganz nach vorne in die Sortierung einreiht.
Nachfolgende Funktion löst das Problem: Die Funktion entfernt alle doppelten bzw. mehrfach hintereinander vorkommenden gleichen Zeichen aus dem übergebenen String.
' Entfernt mehrfach vorkommende Zeichen(-ketten) aus einem String Public Function StripDuplicates(ByVal Value As Variant, _ Optional ByVal sChar As String = " ") As Variant If IsNull(Value) Then StripDuplicates = Null Else If Value = String$(Len(Value), sChar) Then Value = sChar Else While Len(Value) > 0 And InStr(1, Value, sChar & sChar) > 0 Value = Replace(Value, sChar & sChar, sChar) Wend End If StripDuplicates = Value End If End Function
Aus:
Otter Dieter
wird nach Aufruf der Funktion:
Otter Dieter
Anmerkung:
Die Funktion wurde sehr universell gehalten, so dass das zu prüfende Zeichen optional selbst angegeben werden kann.