请高手赐教文本文件读取(100分)

  • 主题发起人 主题发起人 jing9954
  • 开始时间 开始时间
J

jing9954

Unregistered / Unconfirmed
GUEST, unregistred user!
2005-08-01 00:51:00 20 2.00 3.08 1.60
2005-08-01 00:51:00 20 956.50 1004.72 956.50
2005-08-01 00:51:00 20 2000 2000 2000
010100 149 101-186 2.89 15000
2005-08-01 00:51:00 20 2.00 3.08 1.60
2005-08-01 00:51:00 20 956.50 1004.72 956.50
2005-08-01 00:51:00 20 2000 2000 2000
010200 149 101-186 2.89 15000
2005-08-01 00:51:00 20 2.00 3.08 1.60
2005-08-01 00:51:00 20 956.50 1004.72 956.50
2005-08-01 00:51:00 20 2000 2000 2000
010300 149 101-186 2.89 15000
一个文本文件我只需要每个第4行的内容,并取出所每个需行的第4个数组,如何办??请给出详细代码。
 
你的意思是不是这样:
取出所有类似于“010100 149 101-186 2.89 15000”的数据,但“并取出所每个需行的第4个数组”是什么意思?
 
他指的是不是2.89这个数字啊?!
 
并取出所每个需行的第4个数组,比如010100 149 101-186 2.89 15000行中的2.89。
有规律的,每隔3行的就有1行有用的数据。
 
哦,文件挺规律的嘛
 
//关键是取第3个空格后,第四个空格前的字符嘛
//Target是存储结果的临时变量 string类型
for j:=1 to length(s) do
begin
if s[j]=' ' then
inc(flag);
if flag= 3 then
Start:=j+1; //有效字符起始位置
if Flag:= 4 then
begin
eEnd:=j; //有效字符结束位置
break;
end;
end;
Target:=Copy(s,Start,EEnd-Start);
 
跳行读我就不写了,取字符串可以这样
var
F:textfile;
str1,str2:string;
stringlist:Tstringlist;
begin
stringlist:=Tstringlist.Create;
assignfile(F,'C:/1111.txt');
reset(f);
while not eof(f) do
begin
readln(F,str1);
stringlist.Delimiter:=' ';
//stringlist.
stringlist.DelimitedText:=str1;
str1:=stringlist[3];
memo1.Lines.Add(str1);
end;
closefile(f);
end;
这样就是取出每行中第三个空格后的第四个前的字符串
 
遇到个问题,如果2.89前的101-186没有是个空的那样的话为何取出的是15000而不是2.89???
 
请高手解疑,再线等。
 
后退
顶部