Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Contoh kode berikut menggunakan metode Regex.Replace untuk mengganti tanggal yang memiliki formulir mm/dd/ yy dengan tanggal yang memiliki formulir dd-mm-yy.
Peringatan
Penggunaan System.Text.RegularExpressions tidak terbatas dengan input yang tidak tepercaya dapat membuat aplikasi tunduk pada serangan penolakan layanan. Lihat Praktik terbaik untuk ekspresi reguler dalam .NET untuk panduan tentang cara menggunakan ekspresi reguler .NET dengan aman dengan input yang tidak tepercaya.
Contoh
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
Kode berikut menunjukkan bagaimana metode MDYToDMY dapat dipanggil dalam aplikasi.
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.
Komentar
Pola ekspresi reguler \b(?<month>\d{1,2})/(?<day>\d{1,2})/(?<year>\d{2,4})\b ditafsirkan seperti yang diperlihatkan dalam tabel berikut.
| Pola | Deskripsi |
|---|---|
\b |
Mulai pencocokan pada batas kata. |
(?<month>\d{1,2}) |
Cocokkan satu atau dua digit desimal. Ini adalah grup yang ditangkap month. |
/ |
Cocokkan tanda garis miring. |
(?<day>\d{1,2}) |
Cocokkan satu atau dua digit desimal. Ini adalah grup yang ditangkap day. |
/ |
Cocokkan tanda garis miring. |
(?<year>\d{2,4}) |
Sesuaikan dua hingga empat digit desimal. Ini adalah grup yang ditangkap year. |
\b |
Akhiri pertandingan pada batas kata. |
Pola ${day}-${month}-${year} menentukan string pengganti seperti yang ditunjukkan dalam tabel berikut.
| Pola | Deskripsi |
|---|---|
$(day) |
Tambahkan string yang ditangkap oleh grup penangkap day. |
- |
Tambahkan tanda hubung. |
$(month) |
Tambahkan string yang ditangkap oleh grup penangkap month. |
- |
Tambahkan tanda hubung. |
$(year) |
Tambahkan string yang ditangkap oleh grup penangkap year. |