我有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)
?
答案 0 :(得分:3)
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
,你可以根据需要重新格式化它。)
我肯定会尝试使用此而不是正则表达式。