![]() |
Tipp 0096
|
Datumsformate konvertieren (RegExp)
|
 |
|
Autor/Einsender: Datum: |
|
Michael Werner 11.12.2005 |
|
Entwicklungsumgebung: |
|
VB.Net 2003 |
Framework: |
|
1.1 |
|
|
Es ist immer wieder erstaunlich, wie vielfältig die Einsatzmöglichkeiten für Regular Expressions (RegExp)
sind und wie mit extrem wenig Code ein komplexer Vorgang gelöst werden kann. Reguläre Ausdrücke sind eine Beschreibungssprache
zum Durchsuchen, Extrahieren, Vertauschen, Ersetzen, Parsen, usw. von Zeichenketten. Kurz: zum Manipulieren von Zeichenketten.
|
In diesem Fall wird die Gruppierungs-Syntax '(?<name>Ausdruck)', die eine GroupsCollection entstehen lässt,
sowie die Replace-Methode des RegEx-Objektes dazu genutzt, Datumsformate zwischen dem US-Format mm/dd/yyyy
und dem deutschem Format dd.mm.yyyy umzustellen.
|
|
|
Imports System.Text.RegularExpressions
'Amerikanisches Datum mm/dd/yyyy in deutsches Datum dd.mm.yyyy
'konvertieren
Function MDY_to_DMY(ByVal sInput As String) As String
Dim MDY As String = "\b(?<month>\d{1,2})/(?<day>\d{1,2})/" & _
"(?<year>\d{2,4})\b"
Dim DMY As String = "${day}.${month}.${year}"
Return Regex.Replace(sInput, MDY, DMY)
End Function
'Deutsches Datum dd.mm.yyyy in amerikanisches Datum mm/dd/yyyy
'konvertieren
Function DMY_to_MDY(ByVal sInput As String) As String
Dim DMY As String = "\b(?<day>\d{1,2}).(?<month>\d{1,2})." & _
"(?<year>(?:\d{4}|\d{2}))(?x)\b"
Dim MDY As String = "${month}/${day}/${year}"
Return Regex.Replace(sInput, DMY, MDY)
End Function
|
|
|
|
|
Windows-Version |
98/SE |
 |
|
ME |
 |
|
NT |
 |
|
2000 |
 |
|
XP |
 |
|
Vista |
 |
|
Win
7 |
 |
|
|
|
Download (6,9 kB)
|
Downloads bisher: [ 520 ]
|
|
|