Ejemplo: Cambiar formatos de fecha

Actualización: noviembre 2007

En el siguiente ejemplo de código se utiliza el método Regex.Replace para reemplazar fechas con el formato mm/dd/aa por fechas con el formato dd-mm-aa.

Ejemplo

Function MDYToDMY(input As String) As String
    Return Regex.Replace(input, _
        "\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b", _
        "${day}-${month}-${year}")
End Function
static string MDYToDMY(string input) 
{
     return Regex.Replace(input, 
         "\\b(?<month>\\d{1,2})/(?<day>\\d{1,2})/(?<year>\\d{2,4})\\b",
         "${day}-${month}-${year}");
}

En el código siguiente se muestra cómo se puede llamar al método MDYToDMY en una aplicación.

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
        Return Regex.Replace(input, _
            "\b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b", _
            "${day}-${month}-${year}")
    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.
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 {0} to {1}.", dateString, resultString);
   }

   static string MDYToDMY(string input) 
   {
        return Regex.Replace(input, 
            "\\b(?<month>\\d{1,2})/(?<day>\\d{1,2})/(?<year>\\d{2,4})\\b",
            "${day}-${month}-${year}");
   }

}

Patrón de reemplazo de Regex

En este ejemplo se muestra el uso de referencias inversas con nombre dentro del modelo de reemplazo de Replace(String, String, String). Aquí, la ${day} de expresión de reemplazo inserta la subcadena capturada por el (?<day>…) de grupo.

La función Replace(String, String, String) es una de las diversas funciones estáticas que permiten utilizar operaciones de expresiones regulares sin crear un objeto de expresión regular explícito.

Vea también

Otros recursos

Expresiones regulares de .NET Framework