vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück
Rubrik: Variablen/Strings   |   VB-Versionen: VB2005, VB200827.09.10
Sonderzeichen aus einem String entfernen

Mittels dieser Funktion werden Sonderzeichen aus einem übergebenen String entfernt.

Autor:   Dennis HemkenBewertung:     [ Jetzt bewerten ]Views:  21.025 
gadgets.hemken.orgSystem:  Win2k, WinXP, Win7, Win8, Win10, Win11 Beispielprojekt auf CD 

Viele von euch kennen wahrscheinlich das Problem, dass bestimmte Schnittstellen nicht fähig sind, Sonderzeichen zu übermitteln, bzw. zu verarbeiten.

Hier zeige ich eine .NET Variante auf, die die alte Vorgehensweise aus VB 6 Zeiten ( Sonderzeichen aus einem String entfernen) ablöst.

DENN: Die Zeiten, wo man mit überschaubaren 8-Bit (Ansi)-Zeichensätzen arbeiten konnte, sind im Web-Zeitalter vorbei. Man sollte bedenken, dass .NET Zeichenketten mit Unicode arbeiten und dort existieren laut Wikepedia mehr als 100.000 Zeichen und neue kommen hinzu.

Diese Funktion entfernt alle Sonderzeichen aus einem String und kann beliebig angepasst werden.
Vorsicht bei dem übergebenen Pattern, denn "\w" und "\W" sind zwei verschiedene paar Schuhe.
Hier noch ein Link zu den Zeichenklassen: http://msdn.microsoft.com/de-de/library/20bw873z%28VS.90%29.aspx

Function DelSpecCharInDotNet(strSource As String, _
  Optional strPattern As String = "\W") As String
 
  Return System.Text.RegularExpressions.Regex.Replace(strSource, strPattern, "")
End Function

In meinem Beispiel entfernt die Funktion alle Sonderzeichen, oder?!?

AnwendungsBeispiel:
Man nehme 1 Button, 3 Textboxen (TextBox1, TextBox2 und TextBox3), setzt alle Textboxen auf Multiline = True und schreibt nun folgenden Text in TextBox1

VBarchiv*+#_-.;.,   Hallo
du
DAAAAAA

Beispielaufruf:

Private Sub Command1_Click(ByVal sender As System.Object, _
  ByVal e As System.EventArgs) Handles Command1.Click
 
  TextBox2.Text = DelSpecCharInDotNet(TextBox1.Text)
  TextBox3.Text = DelSpecCharInDotNet(TextBox1.Text, "\w")
End Sub

Ergebnis in Text2:

VBarchivHalloduDAAAAAA

Ergebnis in Text3:

*+#_-.;.,