데이터의 다른 블록을 포함하는 배열이 있고 날짜와 시간이 포함 된 블록을 추출해야합니다. 내가 어떻게 그럴 수 있니?배열 형식 비교
string[] s={"File", "Block", "Detected:", "2010-08-11", "11:48:50", etc...}
날짜와 시간은 동일한 위치에 항상은 아니지만 그들은 당신이 날짜와 시간이 배열 내부의 위치에있을 것이라는 점을 알고 있기 때문에 같은 형식
데이터의 다른 블록을 포함하는 배열이 있고 날짜와 시간이 포함 된 블록을 추출해야합니다. 내가 어떻게 그럴 수 있니?배열 형식 비교
string[] s={"File", "Block", "Detected:", "2010-08-11", "11:48:50", etc...}
날짜와 시간은 동일한 위치에 항상은 아니지만 그들은 당신이 날짜와 시간이 배열 내부의 위치에있을 것이라는 점을 알고 있기 때문에 같은 형식
을해야합니까, 당신은 반복 할 수 배열을 통해 모양이 날짜 또는 시간과 같은 것을 찾으십시오. LINQ를 사용하여
foreach (str in s) {
if (Regex.IsMatch(str, @"\d\d\d\d-\d\d-\d\d")) {
// found the date
}
}
또는 : 예
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
를 사용할 수 있습니다. (내가 지금 가능한 비주얼 스튜디오를 가지고 있지 않기 때문에 검증되지 않은 모든 코드,.)
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
당신이 얻고 싶은 것이 명확하지 않기 때문에 문제를 더 잘 설명하십시오. 또는 날짜 블록이 포함되어 있습니까? 날짜를 얻으려면 어디에서나 동일한 형식의 정규식을 사용하면 Regex를 사용할 수 있습니다. http://gsharper.blogspot.com/2007/03/hi-since-i-always-forget-this-one-ill을 참조하십시오. html은 내가 의미하는 것을 얻는다. – 0x49D1
코드를 그대로 포맷하십시오. 또한이 파일을 C# 파일에 넣고 컴파일러에서이 파일을 유효한 C# 코드 행으로 바꾸도록 도와줍니다. 그것은 좋은 대답을 찾는 데 도움이 될 것입니다. (좋은 질문 => 좋은 답변) – Manfred