1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Delphi - программирование", создана пользователем Shouldercannon, 26 апр 2011.

  1. Shouldercannon

    Shouldercannon Well-Known Member

    Репутация:
    0
    Регистрация:
    25 май 2010
    Сообщения:
    127
    Симпатии:
    0
    Код:
    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 были заменены на *** и на выходе получилось
    ***
    "***"
    *****
    [***]
     
  2. Гость

    Репутация:
    0
    Например вот так:
    Код:
    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;
     
Загрузка...

Поделиться этой страницей