如何分割文本并将其保存在数组中
本文关键字:保存 存在 数组 分割文本 | 更新日期: 2023-09-27 17:52:55
我是一个编程新手,在阅读一个巨大的文本文件和分割文本数据时遇到了一些麻烦。
文本文件中的每个条目如下所示:
61.111.15.70 - - [17/Jan/2014:15:14:21 +0200] "GET /dean-martins-almeida-850322ejsapi=1&videoFinishedEvent=onsport-inc-usdot-850322.php HTTP/1.0" 302 533 "-" "http://www.checkprivacy.or.kr:6600/RS/PRIVACY_ENFAQ.jsp"
Reason: "Detects JavaScript DOM/miscellaneous properties and methods"
我希望读取文本文件,然后按如下方式拆分数据:
client_ip: 61.111.15.70
date_time: [17日/1月/2014:15:14:21 + 0200]
http_request: "GET/dean-martins-almeida-850322ejsapi=1&videoFinishedEvent=onsport-inc-usdot-850322.php HTTP/1.0"
http_response_code: 302
unknown_1: 533
推荐人:"http://www.checkprivacy.or.kr: 6600/RS/PRIVACY_ENFAQ.jsp"
原因: "检测JavaScript DOM/杂项属性和方法"
我完全不知道如何完成这件事。
提前感谢
我会一步一步地解析它。查找将在您期望的所有字符串中出现的字符或字符串("landmark"),以及它们与您感兴趣的内容的关系。对于IP来说,这很简单:它从开头开始,在第一个"出现的地方结束。
var ip = myText.TakeWhile(c => c!=' ').ToString();
日期在括号内。
var date = myText.SkipWhile(c1 => c1 !='[').TakeWhile(c2 => c2!=']').ToString();
请求以引号开头。因此,您对' ' '进行上述搜索。一直这样下去,直到提取出所有需要的信息。