Vor längerer Zeit haben wir Ihnen den Tipp ReplacePlus auf Basis "regulärer Ausdrücke" (.NET) vorgestellt, bei dem man Zeichenfolgen/Wörter innerhalb eines Strings via regulärer Ausdrücke ersetzen konnte. Dabei gab es eigentlich immer Probleme, wenn in der zu suchenden Zeichenfolge "OldChar" Zeichen verwendet wurden, die bei Regulären-Zeichen geschützt sind. Dieses Problem lässt sich umgehen, indem man einfach die Zeichen in den HEX-Wert umwandelt, um den String als "Zeichenkette zu behandeln. Daher nun noch der Tipp "ReplacePlus 2 auf Basis "regulärer Ausdrücke", bei dem man nun über einen weiteren optionalen Parameter angeben kann, ob der SuchString geschützte reguläre Ausdrücke enthält. Public Function ReplacePlus(ByVal Text As String, _ ByVal oldChar As String, ByVal newChar As String, _ Optional ByVal bIgnoreCase As Boolean = True, _ Optional ByVal bReplaceOnlyWholeWords As Boolean = False, _ Optional ByVal bOldCharIsRegularExpression As Boolean = False) As String Dim tmpOldChar As String = "" ' Wenn ContainText keine Regulären Ausdrücke enthält, dann ' ContainText in ASCI-Codes für REGEX umsetzen, damit z.B. ] ' nicht als Regulärer-Ausdruck interpretiert wird, ' sonstern als Text If bOldCharIsRegularExpression = False Then Dim byteArray() As Byte Dim hexNumbers As System.Text.StringBuilder = New System.Text.StringBuilder() byteArray = System.Text.ASCIIEncoding.ASCII.GetBytes(oldChar) For i As Integer = 0 To byteArray.Length - 1 hexNumbers.Append("\x" & byteArray(i).ToString("x")) Next tmpOldChar = hexNumbers.ToString Else tmpOldChar = oldChar End If ' Mit Hilfe dieser Funktion können Sie beim Aufruf von Replace ' in .NET die Groß-Kleinschreibung ignorieren und auch nur ganze ' Worte ersetzen Dim sPattern As String = "" ' Falls nur ganze Wörter ersetzt werden sollen If bReplaceOnlyWholeWords = True Then sPattern = "\b" If bIgnoreCase = True Then Return New Regex(sPattern & tmpOldChar & sPattern, _ RegexOptions.IgnoreCase Or _ RegexOptions.Multiline).Replace(Text, newChar) Else Return New Regex(sPattern & tmpOldChar & sPattern, _ RegexOptions.Multiline).Replace(Text, newChar) End If End Function Beispiele zur Anwendung der Funktion finden Sie hier: ReplacePlus auf Basis "regulärer Ausdrücke" (.NET) Dieser Tipp wurde bereits 9.673 mal aufgerufen. Voriger Tipp | Zufälliger Tipp | Nächster Tipp
Anzeige
Diesen und auch alle anderen Tipps & Tricks finden Sie auch auf unserer aktuellen vb@rchiv Vol.6 (einschl. Beispielprojekt!) 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. |
sevISDN 1.0 Überwachung aller eingehender Anrufe! Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Tipp des Monats April 2024 Skyfloy Chart von Microsoft und dazu noch gratis Tutorial für Microsoft Chart Controls für Microsoft .NET Framework 3.5 TOP! Unser Nr. 1 Neu! sevDataGrid 3.0 Mehrspaltige Listen, mit oder ohne DB-Anbindung. Autom. Sortierung, Editieren von Spalteninhalten oder das interaktive Hinzufügen von Datenzeilen sind ebenso möglich wie das Erstellen eines Web-Reports. |
||||||||||||||||
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. |