André Krämers Blog

Lösungen für Ihre Probleme

Nachdem ich die letzten Jahre meine Software fast ausschließlich unter C# entwickelte, musste ich kürzlich für einen Kunden an einem VB.NET Projekt arbeiten.

Die Umgewöhnung in die Sprache klappte überraschend schnell und reibungslos. Allerdings übersah ich, dass VB.NET von Haus aus keine Escape Sequenzen, wie z. B. \n für neue Zeile oder \t für Tab unterstützt. Entsprechend sahen auf der Oberfläche auch meine ausgegebenen Strings aus.

Auf der Suche nach einer Lösung bei der ich nicht sämtliche zuvor definierten Strings anpacken musste, stolperte ich fast ausnahmslos auf Ansätze, die Über String.Replace() die Escape Sequenzen gegen VB.NET Control Characters ersetzten.

Eleganter fand ich allerdings folgende Lösung, die auf eine .NET Framework Standardklasse setzt:

   myString = System.Text.RegularExpressions.Regex.Unescape(myString)

… Ist doch irgendwie eleganter, oder? :-)

Es gibt 1 Kommentare

Comment by Torsten
Von | 03.03.2015 16:57
Cool. Selbst wenn man nicht aus C konvertiert. Eine Extension macht das Leben leichter:

Module Extensions

Public Function Unescape(StringConst As String) As String
Return System.Text.RegularExpressions.Regex.Unescape(StringConst)
End Function
End Module