如有下面这样一个字符串:
str1:='75800487 002712 03060000 0801181740 5183641070026181 912222 000000459505 消费 81.00 80.19 0.81'str2:='75800487 002713 01025800 0801194933 4518105868007521 000000579648 消费 26.10 25.84 0.26'str1为 11 个 短串
str2为 10 个 短串要求在最短的时间内判断出来,因为这只是一文本内的两行而已,整个文体有上万行,每行都需要进行判断!
str1:='75800487 002712 03060000 0801181740 5183641070026181 912222 000000459505 消费 81.00 80.19 0.81'str2:='75800487 002713 01025800 0801194933 4518105868007521 000000579648 消费 26.10 25.84 0.26'str1为 11 个 短串
str2为 10 个 短串要求在最短的时间内判断出来,因为这只是一文本内的两行而已,整个文体有上万行,每行都需要进行判断!
解决方案 »
- 找个朋友一块自学delphi 有木有啊
- 求一个delphi的TREEVIEW的例子
- 关于开机自启动的问题?请高手帮忙!
- 请教问题,在函数中创建一个类,如离开该函数,该类释放吗?
- Delphi应用程序操作有触发器的oracle数据库的时候出现的重大问题。急急~看了一定有所启发
- 能否分析DBGridEh+TextDataSet配合出错的原因
- 怎样分发用bde访问数据库的程序?
- **********网络编程高手请进,一个简单的问题,分数大大的有,UP也有分********
- 表达式疑问
- 奇怪的问题!
- 请教各位一个关于clientdataset事务处理的问题!
- ◆◆◆◆◆◆通知大家Delphi2005的Architect Trial可以下载了◆◆◆◆◆◆
不知道有没有更好的办法,期待高手指教,我是菜菜鸟!!!
--减少读文件的次数才能减少操作时间吧
2。判断短串个数
--可以用TStringList,设置
list.Delimiter := ' '; //分格符
list.DelimitedText := str1;
list.Count 即短窜个数
var
str1: String;
list: TStrings;
begin
list := TStringList.Create;
str1:='75800487 002712 03060000 0801181740 5183641070026181 912222 000000459505 秏煤 81.00 80.19 0.81';
list.Delimiter := ' '; //分格符
list.DelimitedText := str1;
ShowMessage(IntToStr(list.Count));
begin
str1 := StringReplace(str1,' ',' ', [rfReplaceAll]); //把两个空格换成一个
str2 := StringReplace(str2,' ',' ', [rfReplaceAll]);
end;//再用pos分出每个数据
for i:=2 to length(1) do if (s[i]=' ') and (s[i-1]<>' ') then count:=count+1;
//如果字符串尾不是空格则加数量1
if s[length(s)]<>' ' then
count:=1
else
count:=0;
for i:=2 to length(s) do
if (s[i]=' ') and (s[i-1]<>' ') then
count:=count+1;能解决你的问题是我最大的心愿!