Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#-txt文件的结构化拆分_C#_Split_Key - Fatal编程技术网

C#-txt文件的结构化拆分

C#-txt文件的结构化拆分,c#,split,key,C#,Split,Key,我有一个包含日志的txt文件。它们之间用“\n\n”分隔… 每个日志都包含键值数据: Date: 2011/12/13 13:11:00 SeqNum: 332 LoggedBy: Admin Raw Data: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0

我有一个包含日志的txt文件。它们之间用“\n\n”分隔…
每个日志都包含键值数据:

Date: 2011/12/13 13:11:00
SeqNum: 332
LoggedBy: Admin

Raw Data:
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 01 0c 4d 00 00 08 00 22 03
对于本例,哪种拆分方法最好

我试图创建一个包含日志的数组。但是接下来呢?使用file.ReadLines()切换大小写?

您已经得到一个行拆分迭代器

我建议遍历这些行,检查何时找到日期(可以使用line.Split(“:”),然后阅读sonsecutive标题行

对于原始数据,可以使用line.Split(“”)拆分所有十六进制值


要将日期字符串转换为日期,请参见此处的

拆分不是一个好的候选项。请使用正则表达式根据此处使用的特定格式(即key:value)捕获数据。您可能需要对原始数据部分使用特殊情况。您认为我应该拆分行,然后再对键值对使用正则表达式吗?不,我认为您根本不应该拆分它们。这不适合拆分,因为您没有分隔数据。我一直尝试使用“:”进行拆分,但在示例中对日期不起作用。您可以使用Date方法将其从字符串解析为日期(我不确定是哪一个),但您不应该将其拆分为子字符串。我更改了答案。是的,我知道。但此日期也包括“:”。您还可以搜索以“date”开头的字符串…然后在硬编码位置5拆分。模式“(.)+:(.)+”起作用,但我得到如下匹配“日期/时间:2012/12/12”。但我只需要“2012/12/12”这样的值。