由于图像质量,我有OCR提取的日期字符串,日期的第二个斜杠为1,
即日期为 23/0212014,其中年份之前的 1 应该是/实际上。我试图用正则表达式替换 1,但它不起作用。
DateTime.TryParseExact
不起作用,我尝试过的代码是:
string mm = "23/0212014";
var rex = new Regex(@"(?:((d{2}/d{2})1(d{4})))");
mm = rex.Replace(mm, "");
如何将其转换为正确的日期(dd/MM/yyyy)
?
>DateTime.TryParseExact
对我来说很好用:
using System;
using System.Globalization;
class Test
{
static void Main()
{
string text = "23/0212014";
DateTime result;
if (DateTime.TryParseExact(text, "dd/MM'1'yyyy",
CultureInfo.InvariantCulture,
DateTimeStyles.None, out result))
{
Console.WriteLine(result);
}
else
{
Console.WriteLine("Failed to parse");
}
}
}
输出:
23/02/2014 00:00:00
(当然,一旦您将其解析为DateTime
您就可以根据需要重新格式化它。
我肯定会尝试使用它而不是正则表达式。