我想从字符串中提取日期。
字符串:_21_BT_Txn_Details_1-Aug-2015_1031389ACF6.zip
怎么做?
答案 0 :(得分:0)
试试这个:
\d{1,2}-(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)-\d{4}
正则表达式符号的演示和解释:https://regex101.com/r/lW9yI3/2
假设:
答案 1 :(得分:0)
您可以使用以下代码,该代码可以在字符串中提取超过1个日期,如您提供的日期:
var txt = "_21_BT_Txn_Details_1-Aug-2015_1031389ACF6.zip";
DateTime dt;
var res = txt.Split('_').Where(p => DateTime.TryParse(p, out dt)).ToList();
或者,如果您始终使用上述格式(day-MON-year
),请使用
DateTime.TryParseExact(p, "d-MMM-yyyy", CultureInfo.InvariantCulture, DateTimeStyles.None, out dt)
这里不需要正则表达式。