Справочник по KOL - Работа со строками
Ведущий раздела KOL и MCK: Анатолий aka XVeL
Автор: Борис Моренко
WEB-сайт: http://kol.mastak.ru
Полную версию библиотеки KOL и MCK можно скачать здесь.
function AnsiEq( const S1, S2: String ): Boolean; Возвращает
true, если AnsiLowerCase(S1)
= AnsiLowerCase(S2) т.е сравнивает 2 строки без учета регистра. Данная
функция подойдет только для русских символов. function DelimiterLast(
const Str, Delimiters: String ): Integer; Функция ищет в строке
Str последнее вхождение строки Delimiters и возвращает номер символа с
которого он идет. Если Delimiters не найден возвращается длина Str.
function AnsiUpperCase( const S: string ): string;
Преобразует символы в строке S к верхнему регистру.
function AnsiLowerCase( const S:
string ): string; Преобразует символы в строке S к нижнему
регистру.
function AnsiCompareStr( const S1, S2: string ): Integer;
Сравнивает две строки ANSI S1 и S2 без учета регистра. Возвращает
значение < 0, если S1 < S2, 0, если S1 = S2, и > 0, если S1 >
S2.
function _AnsiCompareStr( S1, S2: PChar ): Integer; Аналог
AnsiCompareStr только для PChar.
function CopyEnd( const S: String; Idx: Integer ):
String; Копирует строку из строки S с Idx символа до последнего
function CopyTail( const S: String; Len: Integer ): String;
Возвращает последние Len символа из строки S. Если Len >
Length( S ), возвращается вся строка S.
procedure DeleteTail( var S: String; Len: Integer ); Удаляет
последние Len символа из строки.
function LowerCase( const S: string ):
string; Преобразует символы в строке S к нижнему регистру. Только
для латинских символов.
procedure NormalizeUnixText( var S: String ); В строке S
происходит замена всех символов #10 на символ #13
function IndexOfChar( const S: String; Chr: Char ): Integer;
Возвращает положение символа Chr в строке S. Возвращаемое значение
может быть то 1 до Length(S), если возвращается -1 то символ не
найден.
function IndexOfCharsMin( const S, Chars: String ):
Integer; Возвращает положение ближайшего от начала(строки) символа
Chr в строке S. Если возвращается -1 то символ не найден.
function IndexOfStr( const S, Sub: String ):
Integer; Возвращает положение строки Sub в строке S. Возвращаемое
значение может быть то 1 до Length(S)-Length(Sub), если возвращается -1 то
строка не найдена.
function Parse( var S: String; const Separators: String ): String;
Функция ищет в строке S строку Separators и возвращает все что шло
до этого разделителя (т.е. до Separators). В строке S удаляется
возвращаемая часть и найденный Separators. Т.е. если S= '1-2-3',а
Separators= '-' то при первом вызове на выходе '1' , а S='2-3' Если в S
нет Separators то возвращаемое значение рано S, а сама S становится
пуcтой.
function StrEq( const S1, S2: String ):
Boolean; Возвращает true, если LowerCase(S1) =
LowerCase(S2) т.е сравнивает 2 строки без учета регистра. Данная функция
подойдет только для латинских символов.
function StrIn( const S: String; A: array of String ): Boolean;
Функция возвращает True если в одна из строк массива А равна
строке S. Спавнение идет с помощью функции StrEq поэтому оно не
чуствительно к регистру букв.
function StrSatisfy( const S, Mask: String ): Boolean;
Возвращает True если строка S соответствует маске Mask. Строка
Mask может содержать символ '*' (любое количество любых символов) и '?'
(один любой символ). Например чтобы проверить содержит ли S адрес почты
надо : StrSatisfy(S,'*@*.*');
function StrReplace( var S: String; const
From, ReplTo: String ): Boolean; Производит замену в строке S
первой встреченной строки From на строку ReplTo. Если замена произошла
успешно возвращает True.
function StrPCopy( Dest: PChar; const Source: string ): PChar;
Копирует паскалевскую строку в строку типа PChar
function StrLCopy( Dest: PChar; const Source: PChar; MaxLen:
Cardinal ): PChar; Копирует первые MaxLen символов из
паскалевсокой строки в строку типа PChar.
function StrComp( const Str1, Str2: PChar ):
Integer; Быстрое сравнение 2-х строк. На выходе -1: Str1<Str2;
0: Str1=Str2; +1: Str1>Str2
function StrLComp( const Str1, Str2: PChar; MaxLen: Cardinal ):
Integer; Сравнивает до MaxLen символов двух строк Str1 и Str2 с
учетом регистра. Возвращает значение < 0, если Str1 < Str2, 0, если
Str1 = Str2, и > 0, если Str1 > Str2.
function StrCopy( Dest, Source: PChar ): PChar; Функция
производит быстрое копирование строки Source в Dest и возвращает Dest.
function StrLen( const Str: PChar ): Cardinal; Функция
возвращает число символов в строке Str, не учитывая конечного нулевого
символа.
function StrScanLen( Str: PChar; Chr: Char; Len: Integer ): PChar;
Быстрое сканирование строки Str длиной Len на нахождение в нем
первого символа Chr . Если Chr не входит в Str, возвращается nil.
function StrScan( Str: PChar; Chr: Char ): PChar; Полный
аналог предыдущей функции только сканирование происходит всей строки Str
до последнего символа.
function StrRScan( const Str: PChar; Chr: Char ): PChar;
Возвращает указатель на последнее вхождение символа Chr в строку
Str. Если Chr не входит в Str, возвращается nil.
function StrIsStartingFrom( Str, Pattern: PChar ): Boolean;
Возвращает True если строка Str начинается со строки Pattern, то
есть если Copy( Str, 1, StrLen( Pattern ) ) = Pattern
procedure Str2LowerCase( S: PChar ); Переводит символы в
нуль-терминальной строке в верхней регистр.
function TrimLeft( const S: string ): string; Удаляет из
начала строки S пробелы и управляющие символы
function TrimRight( const S: string ): string; Удаляет в
конца строки S пробелы и управляющие символы.
function Trim( const S: string ): string; Удаляет в конца и в
начале строки S пробелы и управляющие символы.
function UpperCase( const S: string ): string; Преобразует
символы в строке S к верхнему регистру. Только для латинских символов.
function WStrReplace( var S: WideString; const From, ReplTo:
WideString ): Boolean; Производит замену в строке S первой
встреченной строки From на строку ReplTo. Если замена произошла успешно
возвращает True. Анналог функции StrReplace только
для WideString (поэтому в Delphi 2 не будет)
function WStrLen( W: PWideChar ): Integer; Возвращает длину
строки типа PWideChar.
procedure WStrCopy( Dest, Src: PWideChar ); Копирует строку
Dest тип PWideChar в Src
function WStrCmp( W1, W2: PWideChar ): Integer; Сравнивает
2-е строки тип PWideChar. На выходе тоже что и у StrComp
function Clipboard2Text: String;
Возвращает из буфера обмена текст.
function Text2Clipboard( const S: String ): Boolean; Помещает
в буфер обмена текст
|