我正在使用 C#(。NET 3.5)阅读文本文件。加载文件逐行读取它一切都很好,但我想从一行的中心读取它。 .txt文件中的数据采用以下格式:
12-09-2015 00:05:98 140.25.1.37 00120915000598 7421 03456***89 13 94569
13-09-2015 00:08:90 140.25.1.37 00130915000890 7421 034564***654 94569
13-09-2015 00:12:85 140.25.1.37 00130915001285 7421 0345***95114 94569
14-09-2015 00:11:20 140.25.1.37 00140915001120 7421 0345****9814 94569
16-09-2015 01:20:73 140.25.1.37 00160915012073 7421 03456***7698 94569
我需要IP 140.25.1.37之后的数据 ..
每个文件中有超过 21000个条目,数据中心会生成100个文件。请建议我快速有效的任何事情。
谢谢
答案 0 :(得分:0)
尝试将文件读入字符串并使用LastIndex方法:
string readText = File.ReadAllText(filepath);
int i = readText.LastIndexOf("140.25.1.37");
您现在拥有最后发生的IP地址的索引,您可以从那里开始。
答案 1 :(得分:0)
由于您在每行的指定IP之后查找数据,因此请使用IP结尾的索引来获取剩余的子字符串。
string IP = "140.25.1.37 ";
string DataAfterIP = line.Substring(line.IndexOf(IP) + IP.Length);
答案 2 :(得分:0)
LINQ很有趣......
{ = { MERGEFIELD BAL } + 10.00 + { MERGEFIELD PAMT} - { MERGEFIELD POS } - 10.00 - { MERGEFIELD JAMT } \# "#, ##0.00" }