مشاركة عبر


مثال: تغيير تنسيقات التاريخ

مثال التعليمة البرمجية التالية يستخدم Regex.Replaceأسلوب إلى استبدال التواريخ التي تحتوي على النموذج مم / dd/yy مع التواريخ التي تحتوي نموذج dd مم - yy .

المثال

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}");
}

توضح التعليمة البرمجية التالية كيف يمكن للأسلوب MDYToDMY أن يتم استدعاءه في التطبيقات.

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}");
   }

}
// The example displays the following output to the console if run on 8/21/2007:
//      Converted 08/21/2007 to 21-08-2007.

التعليقات

يتم تفسير نموذج التعبير العادي \b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b كما هو موضح في الجدول التالي.

النمط

الوصف

\b

تبدأ التطابق عند حدود كلمة.

(?<month>\d{1,2})

مطابقة واحد او اكثر من الأرقام العشرية. هذا هو monthالتقاط مجموعة.

/

مطابقة علامة الشرطة المائلة الموجودة.

(?<day>\d{1,2})

مطابقة واحد او اكثر من الأرقام العشرية. هذا هو dayالتقاط مجموعة.

/

مطابقة علامة الشرطة المائلة الموجودة.

(?<year>\d{2,4})

مطابقة واحد او اكثر من الأرقام العشرية. هذا هو yearالتقاط مجموعة.

\b

إنهاء التطابق عند حدود الكلمة.

نقش ${day}-${month}-${year}تعرف السلسلة بديل كـ هو موضح في الجدول التالي.

النمط

الوصف

$(day)

إضافة السلسلة التي تم التقاطها بواسطة dayالتقاط مجموعة.

-

قم بإضافة الواصلة.

$(month)

إضافة السلسلة التي تم التقاطها بواسطة monthالتقاط مجموعة.

-

قم بإضافة الواصلة.

$(year)

إضافة السلسلة التي تم التقاطها بواسطة yearالتقاط مجموعة.

راجع أيضًا:

موارد أخرى

التعبيرات العادية في .NET Framework