如何在文本文件中找到字符串并替换成相应的字符串?(100分)

  • 主题发起人 主题发起人 luojun
  • 开始时间 开始时间
L

luojun

Unregistered / Unconfirmed
GUEST, unregistred user!
如何在文本文件中找到字符串并替换成相应的字符串?
 
参见<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=70187">此处</a>
 
也可以这样:
procedure TForm1.FindClick(Sender: TObject);
var
Counter : Integer;
i : Integer;
s : String;
List : TStringList;
begin
List := TStringList.Create;
List.LoadFromFile( Path );
for Counter := 0 to List.Count - 1 do
begin
s := List[ Counter ];
i := pos( FindString, s );
if i <> 0 then
Memo1.Lines.Add(
Format( 'Find in Lines: %d, Columns: %d',
[ Counter + 1 , i ] ) );
end;
end;
 
人家是想: >>找到字符串并替换成相应的字符串
 
对不起,没看清.
在上例中 if i <> 0 then
后面加入如下代码即可:
begin
Position := Length( FindString );
Delete( s, i, Position );
insert( InsertString, s, i );
end;
最后在过程的末尾加上:
List.SaveToFile( Path );
List.free;

Position是Integer类型.
 
打开文本文件(assign reset)
打开临时文件(assign rewrite)
while not eof(textfile) do
begin
readln(tempstring1,textfile);
i:=pos(searchstring,tempstring);
tempstring2:=copy(tempstring1,1,i);
tempstring3:=copy(tempstring1,i+length(searchstring),length(tempstring));
tempstring2:=tempstring2+replacestring+tempstring3;
writeln(tempstring2);
tempstring2:='';
tempstring3:='';
end;
close(textfile) ;
close(tempfile);

正在复习数据结构,还写这么差,对不起大家!!!

 
本来不想插手的, 但.., 我改变初衷了.

procedure TForm1.FindClick(Sender: TObject);
var
i : Integer;
str1,str2,pathstr : String;
List : TStringList;
begin
str1 := ???;
str2 := ???;
pathstr := ???;
List := TStringList.Create;
List.LoadFromFile( Path );
for Counter := 0 to List.Count - 1 do
list := stringreplace(List,findstring,s,[rfReplaceAll]);
List.SaveToFile( Pathstr );
List.free;
end;

 
本来不想插手的, 但.., 我改变初衷了.

procedure TForm1.FindClick(Sender: TObject);
var
i : Integer;
str1,str2,pathstr : String;
List : TStringList;
begin
str1 := ???; //要被替换的字符串
str2 := ???; //要替换成的字符串
pathstr := ???; //文本文件路径及文件名.
List := TStringList.Create;
List.LoadFromFile( Path );
for Counter := 0 to List.Count - 1 do
list := stringreplace(List,str1,str2,[rfReplaceAll]);
List.SaveToFile( Pathstr );
List.free;
end;

 
借光借光.
有谁知道怎么样实现动态查找.
比如Delphi4中的incrementle serch
我可以出<font size=3 color=red>100大元</font>的有
 
function FightWithBiJ : Boolean;
Begin
Result := true or false; ?
Bij.Position := Nanjing;
if ( Bij.Country = Japan ) or ( Bij.MotherCountry = Japan ) then
begin
Bij.Safe := false;
Result := true;
end;
end;

<font color="#0000ff">*_^</font>
 
多人接受答案了。
 
后退
顶部