如果我有一个字符串,缩写为Short Month,逗号分隔日期如下:
Jul 23, 30 , Aug 06, 13, 20, 27
or
Jul 1, 15, 30 , Aug 14, 26 ,
采取这种做法并将其转换为日期时间列表的优雅方法是什么?
答案 0 :(得分:1)
您可以使用regular expression和一点Linq:
来执行此操作var input = "Jul 23, 30 , Aug 06, 13, 20, 27";
var dates =
(from Match m in Regex.Matches(input, @"(\w+)(?:[\s,]+(\d+))+")
from Capture c in m.Groups[2].Captures
let str = m.Groups[1].Value + " " + c.Value
select DateTime.ParseExact(str, "MMM dd", null))
.ToList();
请注意,如果日期无效,则会产生错误。