我正在从第三方来源解析一些日期,遗憾的是有些日期很糟糕。 清洁/消毒
的最佳方法是什么?E.g。
周三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]");
在找到匹配项后,我不确定如何在正确的位置插入空格。
答案 0 :(得分:2)
你可以在数字和字母之间(或字母和数字之间)插入一个空格,如下所示:
resultString = Regex.Replace(subjectString, @"(?<=\d)(?=\p{L})|(?<=\p{L})(?=\d)", " ");
(?<=\d)
检查前一个字符是否为数字。
(?=\p{L})
检查以下字符是否为字母。