您的位置:首页 > 其它

读取同一文件夹下多个txt文件中的特定内容并做统计

2013-08-14 17:44 435 查看

读取同一文件夹下多个txt文件中的特定内容并做统计

有网友在问,C#读取同一文件夹下多个txt文件中的特定内容,并把各个文本的数据做统计。
View Code
Money of Xiaohong(this year) 12
Money of Xiaoma(Last year) 13
sdfgsd
Money of Xiaoqiang(this year) 16
Money of Xiaogang(Last year) 14

45685221, 82684

View Code
Money of Xiaohong(this year) 11
Money of Xiaoma(Last year) 8
asdfasdf
Money of Xiaoqia sdfkka;sdf
asdfasdfads...asdfadsf, ang(Last year)
asdfadsfl.

Money of Xiaoqiang(this year) 12
.............<<<>..d
Money of Xiaogang(Last year) 17

sadf asdf asdf 23

View Code
Money of Xiaohong(this year) 15

kkkk----asdfaasdflkiq(0werq)ewro0asdfl
Money of Xiaoma(Last year) 6
asdfadsf
Money of Xiaoqiang(this year) 22

564465456[[[]ghjfhj]]

Money of Xiaogang(Last year) 8

上面3个文本本件中,只有highlight的行是需要获取的。特别是第二个文本文件,虚线的的位置,与想获取的数据行都有相似的地方。

下面Insus.NET创建一个物件class OutstandingAchievement,来做文本文件数据行分析,获取需要的数据行。





上面的类别中,序号#1过滤当前行所有\n\r,并替换为一个空格。
#2过滤当前行所有制表符\t,并替换为一个空格。
#3过滤当前行中多个连续空格,并替换为一个空格。
#4是判断文本行头是否匹配为"Money of ",如果不是将跳过此行。
#5以空格为分段,文本行是否为5个节段。
#6以前四段重新组合,并判断文本行是否匹配"(this year)" 或“(Last year)”。
#7判断最后一个节段是否为数值。
#8 判断前四段的长度是否大于匹配字符长度。
#9最后一个数据,如果不是int,将返回false.

写一个函数,获取所有文本文件:




写另外一个函数,是获取所有分析好的数据:




OK,写完了。
如果还想把数据输出来看看结果,还得写上一行代码。




结果:


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: