Rubrik: Variablen/Strings | VB-Versionen: VB2005, VB2008 | 27.09.10 |
Sonderzeichen aus einem String entfernen Mittels dieser Funktion werden Sonderzeichen aus einem übergebenen String entfernt. | ||
Autor: Dennis Hemken | Bewertung: | Views: 21.051 |
gadgets.hemken.org | System: 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:
*+#_-.;.,