读取同一文件夹下多个txt文件中的特定内容并做统计_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 读取同一文件夹下多个txt文件中的特定内容并做统计

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

 2013/8/14 15:20:00  Insus.NET  博客园  我要评论(0)
  • 摘要:有网友在问,C#读取同一文件夹下多个txt文件中的特定内容,并把各个文本的数据做统计。昨晚Insus.NET抽上些少时间,来实现此问题,加强自身的功力。先是准备好几个文本文件。第一个文本文件t1.txt:MoneyofXiaohong(thisyear)12MoneyofXiaoma(Lastyear)13sdfgsdMoneyofXiaoqiang(thisyear)16MoneyofXiaogang(Lastyear)1445685221,82684ViewCode第二个文本文件t2
  • 标签:文件 内容

有网友在问,C#读取同一文件夹下多个txt文件中的特定内容,并把各个文本的数据做统计。



昨晚Insus.NET抽上些少时间,来实现此问题,加强自身的功力。先是准备好几个文本文件。
第一个文本文件t1.txt:

class="code_img_closed" src="/Upload/Images/2013081415/0015B68B3C38AA5B.gif" alt="" />logs_code_hide('e4ee68fe-32e5-40bd-b19a-9e68229582fb',event)" src="/Upload/Images/2013081415/2B1B950FA3DF188F.gif" alt="" />
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


第二个文本文件t2.txt:

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


第三个文本文件t3.txt:

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
View Code


上面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,写完了。
如果还想把数据输出来看看结果,还得写上一行代码。


结果:


发表评论
用户名: 匿名