如何删除TXT文本指定内容?

fengdus 2012-10-06 12:19:35
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
...全文
709 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
qkwl2008 2012-10-09
  • 打赏
  • 举报
回复
用TStringList的方法逐行删除,是最简单的了。每一行里面,因为你的逗号前的字符串长度已经固定了,也可以用copy之类的函数。
lhy 2012-10-09
  • 打赏
  • 举报
回复
把每行第一个逗号之前内容删除。
hsfzxjy 2012-10-08
  • 打赏
  • 举报
回复
正则那语法太蛋疼了。。
山东蓝鸟贵薪 2012-10-08
  • 打赏
  • 举报
回复
方法真多呀,学习一下
Mit1208 2012-10-08
  • 打赏
  • 举报
回复
除以上方法外,还可以使用正则,将第一个,前的字符删除
hsfzxjy 2012-10-07
  • 打赏
  • 举报
回复
楼主疑似要写CSV转换器,关注一下。。不过这玩意核心技术就是字符串操作
hsfzxjy 2012-10-07
  • 打赏
  • 举报
回复
还有既然要写入文件就不要showmessage了
天剑风缘 2012-10-07
  • 打赏
  • 举报
回复
嗯,j也没声明...我记事本写的,没试过。
hsfzxjy 2012-10-07
  • 打赏
  • 举报
回复
楼上,应该是:SetLength(s, tsl.Count);
天剑风缘 2012-10-07
  • 打赏
  • 举报
回复
大概意思是这样:
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;
天剑风缘 2012-10-07
  • 打赏
  • 举报
回复
上面只是开个玩笑。其实可以用TStrings把文件读入,以单行分隔,再采用一楼的方法处理单行。
天剑风缘 2012-10-07
  • 打赏
  • 举报
回复
如果只是要个删除后的结果。。。只要把这些数据复制到word中,按住alt选中第一排,下拉到底。。。。删除就OK了。
爱蹄子的羊头 2012-10-06
  • 打赏
  • 举报
回复
你这个不是 csv嘛....


hsfzxjy 2012-10-06
  • 打赏
  • 举报
回复
这是最简单的,况且你数据量不会超级大吧。。
广州佬 2012-10-06
  • 打赏
  • 举报
回复
将我那个代码写成函数(过程),循环你的字符行,将每行字符传入函数,逐行进行删除,我能想到的仅如此了。
hsfzxjy 2012-10-06
  • 打赏
  • 举报
回复
用TStringList读进来,然后用gzzai的办法逐行删
hsfzxjy 2012-10-06
  • 打赏
  • 举报
回复
逐条删嘛。。
广州佬 2012-10-06
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
有很多条数据
[/Quote]
那就将后面的段导入数据库里吧,如果是list类的不如此删除,我就不懂其他办法了,抱歉。
fengdus 2012-10-06
  • 打赏
  • 举报
回复
有很多条数据
广州佬 2012-10-06
  • 打赏
  • 举报
回复
也可以这样:
var s:string;
begin
s:='12092600000501,0009190717,2012-09-26,12:00:56,0,0,1';
Delete(s,1,pos(',',s));
showmessage(s);
end;
加载更多回复(1)

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧