Найти в Tstringlist без учёта регистра

Shouldercannon

Well-known member
25.05.2010
128
0
#1
Код:
var
s1, s2, s3: string;
a, b: Integer;
TSL: TStringList;
begin
// Что ищем
s2 := '007';
// Чем заменяем
s3 := '***';

TSL := TStringList.Create;
TSL.LoadFromFile('test.txt');

b := 0;

for a := TSL.Count - 1 downto 0 do
if s2 = trim(TSL[a]) then
begin
TSL.Strings[a] := s3;
b := b + 1;
end;

if b = 0 then Label1.Caption := 'Совпадений не найдено' else Label1.Caption := 'Произведено ' + IntToStr(b) + ' замен "' + s2 + '" на "' + s3 + '"';
TSL.SaveToFile('test1.txt');
TSL.Free;
Из
007
"007"
*007*
[007]
производится замена на *** только 007. Как сделать чтобы все 007 были заменены на *** и на выходе получилось
***
"***"
*****
[***]
 
G

Guest

#2
Например вот так:
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
i:byte;
p:integer;
s:string;
begin
for I := 0 to Memo1.Lines.Count - 1 do
begin
s:=Memo1.Lines.Strings[i];
p:=pos(Edit1.Text,s);
if p>-1 then
begin
Insert(Edit2.Text,s,p);
Delete(s,p+Length(Edit2.Text),Length(Edit1.Text));
Memo1.Lines.Strings[i]:=s;
end;

end;

end;