Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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,我正在解析来自第三方来源的一些数据,不幸的是有些数据格式不正确。最好的清洁/消毒方法是什么 例如 7月20日星期三->7月20日星期三 7月20日星期二->7月20日星期二 一旦我有了这些,我就用 DateTime myDateTime = DateTime.Parse("Wednesday 20 July"); 转换这些格式错误的日期的最佳方法是什么 我确实和RegEx玩过,但我不是专家 Regex regEx = new Regex("[0-9][a-zA-Z

我正在解析来自第三方来源的一些数据,不幸的是有些数据格式不正确。最好的清洁/消毒方法是什么

例如

7月20日星期三->7月20日星期三

7月20日星期二->7月20日星期二

一旦我有了这些,我就用

DateTime myDateTime = DateTime.Parse("Wednesday 20 July");
转换这些格式错误的日期的最佳方法是什么

我确实和RegEx玩过,但我不是专家

Regex regEx = new Regex("[0-9][a-zA-Z]");
Match match = Regex.Match("Wednesday 20July", "[0-9][a-zA-Z]");

找到匹配项后,我不确定如何在正确的位置插入空格。

您可以在数字和字母(或字母和数字)之间插入空格,如下所示:

resultString = Regex.Replace(subjectString, @"(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)", " ");

resultString=Regex.Replace(subjectString,@“(?
7月20日星期三
解析
应该没有问题,另外一个会失败,因为7月20日不是星期二!