StringList中字符替换和删除问题?

ynlzl 2005-03-03 04:29:54
我有一个文本文件,我想把每行的第3至第5个字符删除,第10至第15个字符替换成别的字符,第16到第20个字符当做整数处理,请问用StringList组件能否实现?请给一例子。
...全文
405 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
setdefault 2005-03-03
  • 打赏
  • 举报
回复
#include <SysUtils.hpp>
TReplaceFlags flag;
flag<<rfReplaceAll;
flag<<rfIgnoreCase;
Memo1->Lines->Text=StringReplace(Memo1->Lines->Text,"aa","bb",flag);
Friecin 2005-03-03
  • 打赏
  • 举报
回复
回复人: constantine(飘遥的安吉儿) ( )
TStringList *List=new TStringList();
list->LoadFromFile("FileName");
list->Delimiter='\n';
int a[100];
for(int i=0;i<List->count;i++)
{
a[i]=List->Strings[i].SubString(16,5).toInt();
String temp=List->Strings[i];
List->Strings[i]=temp.SubString(1,10)+"asdfa"+temp.SubString(16,5);
List->Strings[i].Delete(3,3);
}
List->SaveToFile("filename");
delete List;

大概这样吧,没有测试过,你自己改改

/////////////////////////
关键是SubString()方法的使用
magicsnake 2005-03-03
  • 打赏
  • 举报
回复
StringList只是把文件按行读出或写入,其他关键还是靠你自己对字符串进行处理
constantine 2005-03-03
  • 打赏
  • 举报
回复
TStringList *List=new TStringList();
list->LoadFromFile("FileName");
list->Delimiter='\n';
int a[100];
for(int i=0;i<List->count;i++)
{
a[i]=List->Strings[i].SubString(16,5).toInt();
String temp=List->Strings[i];
List->Strings[i]=temp.SubString(1,10)+"asdfa"+temp.SubString(16,5);
List->Strings[i].Delete(3,3);
}
List->SaveToFile("filename");
delete List;

大概这样吧,没有测试过,你自己改改
constantine 2005-03-03
  • 打赏
  • 举报
回复
一个for不就行了吗?
cczlp 2005-03-03
  • 打赏
  • 举报
回复
不难。楼主可以找找

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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