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.668 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. |
sevOutBar 4.0 Vertikale Menüleisten á la Outlook Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, 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 Access-Tools Vol.1 Über 400 MByte Inhalt Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB |
||||||||||||||||
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. |