1
我有一個數組包含不同的數據塊,我必須提取包含日期和小時的塊。我怎麼能這樣做?比較數組格式
string[] s={"File", "Block", "Detected:", "2010-08-11", "11:48:50", etc...}
的日期和時間是不是始終在同一位置,但他們也有相同的格式
我有一個數組包含不同的數據塊,我必須提取包含日期和小時的塊。我怎麼能這樣做?比較數組格式
string[] s={"File", "Block", "Detected:", "2010-08-11", "11:48:50", etc...}
的日期和時間是不是始終在同一位置,但他們也有相同的格式
既然你知道,日期和時間將在陣列內的某個位置,你可以遍歷通過陣列並尋找看起來像某個日期或時間的東西。例如:
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中可用的現在。)
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);
}
}
可以重新格式化你的代碼?它看起來不正確:(1)你正在給一個字符串數組分配一個字符串,(2)嵌套的雙引號看起來不正確。 – Heinzi 2010-08-12 10:18:47
請更好地描述問題,因爲不清楚你想要得到什麼...只是從那個日期開始?或者包含日期塊的s?爲了獲取日期,如果它的格式相同,你可以使用一些正則表達式。參見http://gsharper.blogspot.com/2007/03/hi-since-i-always-forget-this-one-ill。 HTML來得到我的意思。 – 0x49D1 2010-08-12 10:19:56
請格式化您的代碼。也把它放到一個C#文件中,讓編譯器幫你把它變成一行有效的C#代碼。這將有助於找到一個好的答案。 (好問題=>很好的答案) – Manfred 2010-08-12 10:20:48