Написать Продвинутый Stringreplace. Оплата 100$

Тема в разделе "Pascal and Delphi", создана пользователем AlexBuzaev, 17 июл 2013.

  1. AlexBuzaev

    AlexBuzaev New Member

    Регистрация:
    25 апр 2012
    Сообщения:
    2
    Симпатии:
    0
    Требуется написать процедуру замены в строке (AnsiChar) набора входных Patters на выходные.
    Замена осуществляется вызовом callback функции. Если функция не определена или вернула Default == True, то замена осуществляется вызывающей функцией.
    Процедура должна показывать вменяемое время на размере входной строки 2-5Mb при количестве patterns 3000-5000
    Callback:
    type
    TReplaceProc = procedure(var S: PAnsiChar; OutStream: TMemoryStream;
    const OldPattern, NewPattern, Context: AnsiString;
    var bDefault: Boolean) of object;

    procedure ReplaceAll(const InStream, OutStream: TMemoryStream;
    const OldPatterns, NewPatterns, Context: array of AnsiString;
    IgnoreCase: Boolean; const ReplaceProc: TReplaceProc = nil);

    Подробности и текущая реализация (очевидная и очень медленная – в привате)
     
Загрузка...

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