Нахождение последнего вхождения подстроки в строкуDelphi , Синтаксис , Текст и СтрокиНахождение последнего вхождения подстроки в строку
Автор: Fenik { **** UBPFD *********** by delphibase.endimus.com **** >> Нахождение последнего вхождения подстроки в строку Функция возвращает начало последнего вхождения подстроки FindS в строку SrcS, т.е. первое с конца. Если возвращает ноль, то подстрока не найдена. Можно использовать в текстовых редакторах при поиске текста вверх от курсора ввода. Зависимости: System Автор: Fenik, chook_nu@uraltc.ru, Новоуральск Copyright: Автор: Федоровских Николай Дата: 16 июня 2002 г. ***************************************************** } function PosR2L(const FindS, SrcS: string): Integer; {Функция возвращает начало последнего вхождения подстроки FindS в строку SrcS, т.е. первое с конца. Если возвращает ноль, то подстрока не найдена. Можно использовать в текстовых редакторах при поиске текста вверх от курсора ввода.} function InvertS(const S: string): string; {Инверсия строки S} var i, Len: Integer; begin Len := Length(S); SetLength(Result, Len); for i := 1 to Len do Result[i] := S[Len - i + 1]; end; var ps: Integer; begin {Например: нужно найти последнее вхождение строки 'ро' в строке 'пирожок в коробке'. Инвертируем обе строки и получаем 'ор' и 'екборок в кожорип', а затем ищем первое вхождение с помощью стандартной функции Pos(Substr, S: string): string; Если подстрока Substr есть в строке S, то эта функция возвращает позицию первого вхождения, а иначе возвращает ноль.} ps := Pos(InvertS(FindS), InvertS(SrcS)); {Если подстрока найдена определяем её истинное положение в строке, иначе возвращаем ноль} if ps <> 0 then Result := Length(SrcS) - Length(FindS) - ps + 2 else Result := 0; end; Пример использования: p := PosR2L('са', 'Мой сапог догнал самолёт.'); // p:=18; Статья Нахождение последнего вхождения подстроки в строку раздела Синтаксис Текст и Строки может быть полезна для разработчиков на Delphi и FreePascal. Комментарии и вопросы:: 2016-03-15 07:46:13 :: re:Нахождение последнего вхождения подстроки в строкупользователь: Saidahmad Amridinzoda. Функция LastPos(s,s1) Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта. :: Главная :: Текст и Строки ::
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |