清除错误格式的日期-使用RegEx

本文关键字:使用 RegEx 日期 错误 格式 清除 | 更新日期: 2023-09-27 18:02:29

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

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]");

我不确定如何在正确的位置插入空格,一旦我找到了一个匹配。

清除错误格式的日期-使用RegEx

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

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

(?<='d)检查前一个字符是否为数字。

(?='p{L})检查以下字符是否为字母