比较数组格式

时间:2010-08-12 10:11:59

标签: c#

我有一个包含不同数据块的数组,我必须提取包含日期和小时的块。我怎么能这样做?

string[] s={"File", "Block", "Detected:", "2010-08-11", "11:48:50", etc...} 

日期和时间并不总是在同一位置,但它们具有相同的格式

2 个答案:

答案 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);
            }
        }