我有一个包含不同数据块的数组,我必须提取包含日期和小时的块。我怎么能这样做?
string[] s={"File", "Block", "Detected:", "2010-08-11", "11:48:50", etc...}
日期和时间并不总是在同一位置,但它们具有相同的格式
答案 0 :(得分:0)
由于您知道日期和时间将在数组内的某个位置,因此您可以遍历数组并查找看起来像日期或时间的内容。例如:
foreach (str in s) {
if (Regex.IsMatch(str, @"\d\d\d\d-\d\d-\d\d")) {
// found the date
}
}
或使用LINQ:
string myDate = (from str in s
where Regex.IsMatch(str, @"\d\d\d\d-\d\d-\d\d")
select str).First();
为了确定时间,您可以使用正则表达式\d\d:\d\d:\d\d
。
(所有代码未经测试,因为我现在没有Visual Studio。)
答案 1 :(得分:0)
string[] sArr = { "File", "Block", "Detected:", "2010-08-11", "11:48:50", "29.01.1987 12:23" };
foreach (var s in sArr)
{
DateTime d;
if (DateTime.TryParse(s, out d))
{
Console.WriteLine(d);
}
}