读取同一文件夹下多个txt文件中的特定内容并做统计
读取同一文件夹下多个txt文件中的特定内容并做统计
有网友在问,C#读取同一文件夹下多个txt文件中的特定内容,并把各个文本的数据做统计。
昨晚Insus.NET抽上些少时间,来实现此问题,加强自身的功力。先是准备好几个文本文件。
第一个文本文件t1.txt:
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:
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:
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,写完了。
如果还想把数据输出来看看结果,还得写上一行代码。
结果:
读取同一文件夹下多个txt文件中的特定内容并做统计的更多相关文章
- VBA读取可选择文件夹下可选择txt文件内容
Sub OneTxt() '打开一个txt文件 Dim Filename As Variant, extLine&, mArr() As String Dim i%, j% ChDir Thi ...
- MATLAB读取一个文件夹下的多个子文件夹中的多个指定格式的文件
MATLAB需要读取一个文件夹下的多个子文件夹中的指定格式文件,这里以读取*.JPG格式的文件为例 1.首先确定包含多个子文件夹的总文件夹 maindir = 'C:\Temp Folder'; 2. ...
- 将文件夹下的所有csv文件存入数据库
# 股票的多因子分层回测代码实现 import os import pymysql # import datetime, time # from config import * database_ta ...
- linux 系统获得当前文件夹下存在的所有文件 scandir函数和struct dirent **namelist结构体[转]
linux 系统获得当前文件夹下存在的所有文件 scandir函数和struct dirent **namelist结构体 1.引用头文件#include<dirent.h> struct ...
- android XMl 解析神奇xstream 一: 解析android项目中 asset 文件夹 下的 aa.xml 文件
简介 XStream 是一个开源项目,一套简单实用的类库,用于序列化对象与 XML 对象之间的相互转换. 将 XML 文件内容解析为一个对象或将一个对象序列化为 XML 文件. 1.下载工具 xstr ...
- C#_IO操作_查询指定文件夹下的每个子文件夹占空间的大小
1.前言 磁盘内存用掉太多,想查那些文件夹占的内存比较大,再找出没有用的文件去删除. 2.代码 static void Main(string[] args) { while (true) { //指 ...
- java批量解压文件夹下的所有压缩文件(.rar、.zip、.gz、.tar.gz)
// java批量解压文件夹下的所有压缩文件(.rar..zip..gz..tar.gz) 新建工具类: package com.mobile.utils; import com.github.jun ...
- 【bat批处理】批量执行某个文件夹下的所有sql文件bat批处理
遍历文件夹下所有的sql文件,然后命令行执行 for /r "D:\yonyou\UBFV60\U9.VOB.Product.Other" %%a in (*.sql) do ( ...
- MapReduce会自动忽略文件夹下的.开头的文件
MapReduce会自动忽略文件夹下的.开头的文件,跳过这些文件的处理.
随机推荐
- Android NDK的C++11标准支持
C++11于Android NDK它已被支持,本文介绍了如何NDK添加C++11支持标准. 在开源项目Cocos2d-x于,他已经加入C++11支持标准. 1.改动Application.mk文件,加 ...
- iOS程序发布时出现your application is being uploaded解决办法
当用Xcode发布app时候出现“your application is being uploaded”或者用Application Loader 一直出现“ 正在通过ITUNES STORE进行鉴定 ...
- C# 实现设置系统环境变量设置
原文:C# 实现设置系统环境变量设置 以前实现系统环境变量设置时是要在电脑属性--高级--环境变量设置,实现方式主要有2种, 修改注册表,添加环境变量 调用系统Kernel32.DLL函数,设置环境变 ...
- 移动小bug
1. 在三星note2,小米2,页面加载后,页面有黑块. 那么提高被盖住的部分z-index. 2. iphone5 ,ios7.0.4,上文字显示不出 那么就先hide,setTimeout几百毫秒 ...
- Installshield停止操作系统进程的代码--IS5版本适用
原文:Installshield停止操作系统进程的代码--IS5版本适用 出处:http://www.installsite.org/pages/en/isp_ext.htm这个地址上有不少好东西,有 ...
- MVC+UnitOfWork+Repository+EF
MVC+UnitOfWork+Repository+EF UnitOfWork+Repository模式简介: 每次提交数据库都会打开一个连接,造成结果是:多个连接无法共用一个数据库级别的事务,也就无 ...
- Aspose.Words:如何添加另一个WORD文档中的Node对象
原文:Aspose.Words:如何添加另一个WORD文档中的Node对象 首先看一段代码,这段代码意图从docSource中获取第一个表格,并插入docTarget的末尾: , true); doc ...
- Spring之SpringMVC的Controller(源码)分析
说明: 例子就不举了,还是直接进入主题,本文主要是以SpringMVC的Controller接口为入点,来分析SpringMVC中C的具体实现和处理过程. 1.Controller接口 public ...
- leetcode第40题--First Missing Positive
题目: Given an unsorted integer array, find the first missing positive integer. For example,Given [1,2 ...
- leetcode[164] Maximum Gap
梅西刚梅开二度,我也记一题. 在一个没排序的数组里,找出排序后的相邻数字的最大差值. 要求用线性时间和空间. 如果用nlgn的话,直接排序然后判断就可以了.so easy class Solution ...