如何删除TXT文本指定内容?
12092600000501,0009190717,2012-09-26,12:00:56,0,0,1
12092600000502,0014700545,2012-09-26,12:00:58,0,0,1
12092600000503,0012434202,2012-09-26,12:00:59,0,0,1
12092600000504,0012441668,2012-09-26,12:01:01,0,0,1
12092600000505,0012436205,2012-09-26,12:01:02,0,0,1
12092600000506,0012441674,2012-09-26,12:01:04,0,0,1
12092600000507,0000990369,2012-09-26,12:01:06,0,0,1
12092600000508,0000990814,2012-09-26,12:01:08,0,0,1
删掉第一个逗号前的数字
比如:
12092600000501,0009190717,2012-09-26,12:00:56,0,0,1
删掉后是这个样的
0009190717,2012-09-26,12:00:56,0,0,1
[解决办法]
var i:integer; s:string;begin s:='12092600000501,0009190717,2012-09-26,12:00:56,0,0,1'; i:=pos(',',s); Delete(s,1,i); showmessage(s);end;
[解决办法]
也可以这样:
var s:string;begin s:='12092600000501,0009190717,2012-09-26,12:00:56,0,0,1'; Delete(s,1,pos(',',s)); showmessage(s);end;
[解决办法]
逐条删嘛。。
[解决办法]
用TStringList读进来,然后用gzzai的办法逐行删
[解决办法]
将我那个代码写成函数(过程),循环你的字符行,将每行字符传入函数,逐行进行删除,我能想到的仅如此了。
[解决办法]
你这个不是 csv嘛....
[解决办法]
如果只是要个删除后的结果。。。只要把这些数据复制到word中,按住alt选中第一排,下拉到底。。。。删除就OK了。
[解决办法]
上面只是开个玩笑。其实可以用TStrings把文件读入,以单行分隔,再采用一楼的方法处理单行。
[解决办法]
大概意思是这样:
procedure TForm1.Button1Click(Sender: TObject);
var
Tsl: TStrings;
I: Integer;
s: array of string;
begin
Tsl:= TStringList.Create;
Tsl.LoadFromFile('x.txt');
SetLength(s, tsl.Count - 1);
for I := Tsl.Count- 1 downto 0 do
begin
s[i]:= Tsl.Strings[i];
j:=pos(',',tsl.Strings[i]);
Delete(s[i],1,j);
showmessage(s[i]);
{之后建个新文件写入...}
end;
tsl.Free;
end;
[解决办法]
楼上,应该是:SetLength(s, tsl.Count);
[解决办法]
楼主疑似要写CSV转换器,关注一下。。不过这玩意核心技术就是字符串操作
[解决办法]
除以上方法外,还可以使用正则,将第一个,前的字符删除
[解决办法]
把每行第一个逗号之前内容删除。
[解决办法]
用TStringList的方法逐行删除,是最简单的了。每一行里面,因为你的逗号前的字符串长度已经固定了,也可以用copy之类的函数。