Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从日期开始替换一个额外的号码_C#_Regex_Datetime - Fatal编程技术网

C# 从日期开始替换一个额外的号码

C# 从日期开始替换一个额外的号码,c#,regex,datetime,C#,Regex,Datetime,我有OCR提取的日期字符串,因为图像质量日期的第二个斜杠为1 i、 e.日期为2014年2月23日,其中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)

我有OCR提取的日期字符串,因为图像质量日期的第二个斜杠为1

i、 e.日期为2014年2月23日,其中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
,当然,您可以根据需要重新格式化它。)


我肯定会尝试使用这个而不是正则表达式。

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
,当然,您可以根据需要重新格式化它。)


我肯定会尝试使用这个而不是正则表达式。

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
,当然,您可以根据需要重新格式化它。)


我肯定会尝试使用这个而不是正则表达式。

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
,当然,您可以根据需要重新格式化它。)



我肯定会尝试使用这个而不是正则表达式。

“DateTime.TryParseExact不起作用”-您尝试了什么使它起作用?它总是在年前1,数据字符串的长度是10?如果字符串的当前格式是固定的,您可以很好地用“/”替换第5个字符。然后使用DateTime.TryParse(你的字符串)我不会使用正则表达式。测试第五个字符=
1
并替换为
/
是第二个字符/将始终仅为1,并且正好在年份(yyyy)之前,长度始终为10。对于DateTime.TryParseExact,我的格式为:字符串[]格式={“dd/MM1yyyy”、“dd/MM/yyyy”、“dd/MMyyyy”、“ddMM/yyyy”};(检查第一个)“DateTime.TryParseExact不工作”-您尝试了什么使其工作?它总是在年前1,数据字符串的长度是10?如果字符串的当前格式是固定的,您可以很好地用“/”替换第5个字符。然后使用DateTime.TryParse(你的字符串)我不会使用正则表达式。测试第五个字符=
1
并替换为
/
是第二个字符/将始终仅为1,并且正好在年份(yyyy)之前,长度始终为10。对于DateTime.TryParseExact,我的格式为:字符串[]格式={“dd/MM1yyyy”、“dd/MM/yyyy”、“dd/MMyyyy”、“ddMM/yyyy”};(检查第一个)“DateTime.TryParseExact不工作”-您尝试了什么使其工作?它总是在年前1,数据字符串的长度是10?如果字符串的当前格式是固定的,您可以很好地用“/”替换第5个字符。然后使用DateTime.TryParse(你的字符串)我不会使用正则表达式。测试第五个字符=
1
并替换为
/
是第二个字符/将始终仅为1,并且正好在年份(yyyy)之前,长度始终为10。对于DateTime.TryParseExact,我的格式为:字符串[]格式={“dd/MM1yyyy”、“dd/MM/yyyy”、“dd/MMyyyy”、“ddMM/yyyy”};(检查第一个)“DateTime.TryParseExact不工作”-您尝试了什么使其工作?它总是在年前1,数据字符串的长度是10?如果字符串的当前格式是固定的,您可以很好地用“/”替换第5个字符。然后使用DateTime.TryParse(你的字符串)我不会使用正则表达式。测试第五个字符=
1
并替换为
/
是第二个字符/将始终仅为1,并且正好在年份(yyyy)之前,长度始终为10。对于DateTime.TryParseExact,我的格式为:字符串[]格式={“dd/MM1yyyy”、“dd/MM/yyyy”、“dd/MMyyyy”、“ddMM/yyyy”};(选中第一个)即使是
1
周围的
也不需要;不管怎样,它都会被视为一个文本。@Rawling:是的,但我有一个习惯,就是在日期/时间模式中对大多数文本进行排序。我认为这更清楚了。即使是
1
周围的
都是不必要的;不管怎样,它都会被视为一个文本。@Rawling:是的,但我有一个习惯,就是在日期/时间模式中对大多数文本进行排序。我认为这更清楚了。即使是
1
周围的
都是不必要的;不管怎样,它都会被视为一个文本。@Rawling:是的,但我有一个习惯,就是在日期/时间模式中对大多数文本进行排序。我认为这更清楚了。即使是
1
周围的
都是不必要的;不管怎样,它都会被视为一个文本。@Rawling:是的,但我有一个习惯,就是在日期/时间模式中对大多数文本进行排序。我想这更清楚了。