Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im folgenden Codebeispiel wird die Methode Regex.Replace verwendet, um Datumsangaben zu ersetzen, die die Form mm/dd/yy haben, durch Datumsangaben, die die Form dd-mm-yy haben.
Warning
Die uneingeschränkte Verwendung von System.Text.RegularExpressions mit nicht vertrauenswürdigen Eingaben kann Anwendungen Denial-of-Service-Angriffen aussetzen. Lesen Sie bewährte Methoden für reguläre Ausdrücke in .NET, um Anleitungen zur sicheren Verwendung von .NET regulären Ausdrücken mit nicht vertrauenswürdigen Eingaben zu erhalten.
Example
static string MDYToDMY(string input)
{
try {
return Regex.Replace(input,
@"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b",
"${day}-${month}-${year}", RegexOptions.None,
TimeSpan.FromMilliseconds(150));
}
catch (RegexMatchTimeoutException) {
return input;
}
}
Function MDYToDMY(input As String) As String
Try
Return Regex.Replace(input, _
"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b", _
"${day}-${month}-${year}", RegexOptions.None,
TimeSpan.FromMilliseconds(150))
Catch e As RegexMatchTimeoutException
Return input
End Try
End Function
Der folgende Code zeigt, wie die MDYToDMY Methode in einer Anwendung aufgerufen werden kann.
using System;
using System.Globalization;
using System.Text.RegularExpressions;
public class Class1
{
public static void Main()
{
string dateString = DateTime.Today.ToString("d",
DateTimeFormatInfo.InvariantInfo);
string resultString = MDYToDMY(dateString);
Console.WriteLine($"Converted {dateString} to {resultString}.");
}
static string MDYToDMY(string input)
{
try {
return Regex.Replace(input,
@"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b",
"${day}-${month}-${year}", RegexOptions.None,
TimeSpan.FromMilliseconds(150));
}
catch (RegexMatchTimeoutException) {
return input;
}
}
}
// The example displays the following output to the console if run on 8/21/2007:
// Converted 08/21/2007 to 21-08-2007.
Imports System.Globalization
Imports System.Text.RegularExpressions
Module DateFormatReplacement
Public Sub Main()
Dim dateString As String = Date.Today.ToString("d", _
DateTimeFormatInfo.InvariantInfo)
Dim resultString As String = MDYToDMY(dateString)
Console.WriteLine("Converted {0} to {1}.", dateString, resultString)
End Sub
Function MDYToDMY(input As String) As String
Try
Return Regex.Replace(input, _
"\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b", _
"${day}-${month}-${year}", RegexOptions.None,
TimeSpan.FromMilliseconds(150))
Catch e As RegexMatchTimeoutException
Return input
End Try
End Function
End Module
' The example displays the following output to the console if run on 8/21/2007:
' Converted 08/21/2007 to 21-08-2007.
Kommentare
Das Muster für reguläre Ausdrücke \b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b wird entsprechend der folgenden Tabelle interpretiert:
| Schema | Description |
|---|---|
\b |
Der Vergleich beginnt an einer Wortgrenze. |
(?<month>\d{1,2}) |
Eine oder zwei Dezimalziffern abgleichen. Dies ist die month erfasste Gruppe. |
/ |
Entsprechung für den Schrägstrich finden. |
(?<day>\d{1,2}) |
Eine oder zwei Dezimalziffern abgleichen. Dies ist die erfasste Gruppe day. |
/ |
Entsprechung für den Schrägstrich finden. |
(?<year>\d{2,4}) |
Entsprechung für zwei bis vier Dezimalstellen finden. Dies ist die erfasste Gruppe year. |
\b |
Der Vergleich endet an einer Wortgrenze. |
Das Muster ${day}-${month}-${year} definiert die Ersetzungszeichenfolge wie in der folgenden Tabelle dargestellt.
| Schema | Description |
|---|---|
$(day) |
Fügen Sie die von der day Aufnahmegruppe erfasste Zeichenfolge hinzu. |
- |
Fügen Sie einen Bindestrich hinzu. |
$(month) |
Fügen Sie die von der month Aufnahmegruppe erfasste Zeichenfolge hinzu. |
- |
Fügen Sie einen Bindestrich hinzu. |
$(year) |
Fügen Sie die von der year Aufnahmegruppe erfasste Zeichenfolge hinzu. |