文件数据分析制作过程【3】

Step3:对存放读取文件内容的string对象,进行数据提取,此处采用IndexOf与Split方法

使用软件环境:VS2010

1、使用Split方法

strTotal为读取文件存放的String对象

splitString为要分析的参数数据,用于对数据对象进行提取

Split()方法对String对象strTotal进行切割

resultLen-1,是因为切割后,会有“1”部分是无用的,因此要减少“1”

dataCount为textbox,用于对切割后的数据进行显示

-----此方法无法同时对多个数据进行分析。若需要对多个数据进行分析时,需要重写多次--------

			String^ splitString = "***";
			//匹配的字符串splitString,用于在Log信息中索引的数据
			array<String^>^ sepMoney = gcnew array<String^>{splitString};
			//Split()方法获取所有分割后的数据,保存到数据result中
			array<String^>^result = 	strTotal->Split(sepMoney,StringSplitOptions::None );
			//获取数组的长度,数组的长度减1即为分割数据的选项
			int resultLen = result->GetLength(0);
			//分割数据,会多增加1
			dataCount->Text = (resultLen-1).ToString();


2、使用IndexOf方法

totalEquip用于对所有数据的总数进行保存

sepEquip用于对需要分析的数据进行保存到数组中

nCnt为每次从数组中读取的数据进行统计的个数进行保存

itemCount为textbox,用于对总统计结果进行显示

System::Convert::ToString()用于将整数型数据转换为String数据进行显示到textbox

	int totalEquip = 0;
			array<String^>^ sepEquip = gcnew array<String^>{"***","&&&"};
			for (int count = 0;count < sepEquip->GetLength(0);count++)
			{
				int nNextIdx = 0, nCnt = 0, nRetIdx = -1;
				while ((nRetIdx = strTotal->IndexOf(sepEquip[count], nNextIdx)) != -1)
				{
					nNextIdx = nRetIdx + 1;
					nCnt++;
				}
				//对每次分析的结果进行求和
				totalEquip +=nCnt;
			}
			itemCount->Text = System::Convert::ToString(totalEquip);


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值