zoukankan      html  css  js  c++  java
  • 读取同一文件夹下多个txt文件中的特定内容并做统计

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

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



    昨晚Insus.NET抽上些少时间,来实现此问题,加强自身的功力。先是准备好几个文本文件。
    第一个文本文件t1.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

    复制代码


    第二个文本文件t2.txt:

    复制代码
     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

    复制代码


    第三个文本文件t3.txt:

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


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

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


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


    结果:


     
     
    分类: ASP.NETC#GenericIOText File
  • 相关阅读:
    SpringMVC,3种不同的URL路由配置方法(这根本不是一个小问题)
    PHP在Windows下安装配置第一步
    跟我一起学extjs5(18--模块的新增、改动、删除操作)
    html image -- data:image/png;base64
    oc66--代理模式应用2
    oc65--协议应用1,接口.做数据类型限定
    oc64--协议2@protocol
    oc63--协议@protocol1
    oc62--block1
    oc61--block
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3257784.html
Copyright © 2011-2022 走看看