На главную

Работа со строками.

Таблица функций работы со строками
НаименованиеОписание
AdjustLineBreaksфункцияУстанавливает символы окнчания строки в стиле Windows (конец строки, перевод коретки) или в стиле Linux (только конец строки).
AnsiCompareStrфункцияСравнивает строки, базирующиеся на текущей локализации Windows, с учетом регистра.
AnsiCompareTextфункцияСравнивает строки, базирующиеся на текущей локализации Windows, без учета регистра.
AnsiContainsStrфункцияПоказывает является ли одна строка подстрокой другой (с учетом регистра).
AnsiContainsTextфункцияПоказывает является ли одна строка подстрокой другой (без учета регистра).
AnsiDequotedStrфункцияКонвертирует обкавыченную строку в строку без кавычек.
AnsiEndsStrфункцияПоказывает является ли одна строка окончанием другой (с учетом регистра).
AnsiEndsTextфункцияПоказывает является ли одна строка окончанием другой (без учета регистра).
AnsiExtractQuotedStrфункцияКонвертирует обкавыченную строку в строку без кавычек. Если в строке имеются несколько пар символов кавычек, то в результат копируются символы от начала строки до второго вхождения символа кавычек.
AnsiIndexStrфункцияНаходит индекс указанной строки (с учетом регистра) в массиве строк. Если строка не найдена, то возвращается -1.
AnsiIndexTextфункцияНаходит индекс указанной строки (без учета регистра) в массиве строк. Если строка не найдена, то возвращается -1.
AnsiLeftStrфункцияВозвращает подстроку заданной длины от начала строки.
AnsiLowerCaseфункцияВозвращает строку в нижнем регистре.
AnsiMatchStrфункцияПоказывает является ли какая либо строка из указнного массива строк частью заданной строки (с учетом регистра).
AnsiMatchTextфункцияПоказывает является ли какая либо строка из указнного массива строк частью заданной строки (без учета регистра).
AnsiMidStrфункцияВозвращает подстроку заданной длины от указанной позиции в строке.
AnsiPosфункцияОпределяет позицию первого вхождения подстроки от начала строки.
AnsiQuotedStrфункцияВозвращает обкавыченную версию строки.
AnsiReplaceStrфункцияЗаменяет все вхождения подстроки (с учетом регистра) заданной строкой.
AnsiReplaceTextфункцияЗаменяет все вхождения подстроки (без учета регистра) заданной строкой.
AnsiResemblesProcпеременнаяУправляет алгоритмом, который использует функция AnsiResemblesText для определения похожести строк.
AnsiResemblesTextфункцияОпределяет, являются ли две строки похожими.
AnsiReverseStringфункцияВозвращает реверсированную строку.
AnsiRightStrфункцияВозвращает подстроку заданной длины от конца строки.
AnsiSameStrфункцияПроверяет идентичность Ansi строк, базирующихся на текущей локализации Windows, с учетом регистра.
AnsiSameTextфункцияПроверяет идентичность Ansi строк, базирующихся на текущей локализации Windows, без учета регистра.
AnsiStartsStrфункцияПоказывает является ли одна строка началом другой (с учетом регистра).
AnsiStartsTextфункцияПоказывает является ли одна строка началом другой (без учета регистра).
AnsiUpperCaseфункцияВозвращает строку в верхнем регистре.
CompareStrфункцияСравнивает две строки с учетом регистра.
CompareTextфункцияСравнивает две строки без учета регистра.
ConcatфункцияОбъединяет две строки и более в одну.
CopyфункцияВозвращает подстроку из строки или часть динамического массива.
DecodeSoundExIntфункцияКонвертирует целочисленное представление (тип Integer) SoundEx кодирования в соответствующую фонетическую строку.
DecodeSoundExWordфункцияКонвертирует целочисленное представление (тип Word) SoundEx кодирования в соответствующую фонетическую строку.
DeleteпроцедураУдаляет подстроку из строки.
DupeStringфункцияОбъединяет строку саму с собой указанное число раз.
InsertпроцедураВставляет подстроку в строку с указанной позиции.
IsDelimeterфункцияПоказывает имеется ли в строке специальный символ, соответствующий одному из символов, определенных как разделители.
LastDelimeterфункцияВозвращает позицию последнего специального символа, соответствующего одному из символов, определенных как разделители, в строке.
LeftBStrфункцияВозвращает подстроку, содержащую заданное количество байт от начала строки.
LeftStrфункцияВозвращает подстроку заданной длины от начала строки.
LengthфункцияВозвращает количество символов в строке или количество элементов в массиве.
LowerCaseфункцияПереводит ASCII строку в нижний регистр.
MidBStrфункцияВозвращает подстроку, содержащую заданное количество байт от указанной позиции в строке.
MidStrфункцияВозвращает подстроку заданной длины от указанной позиции в строке.
NullStrконстантаУстанавливает указатель на пустую строку.
PosфункцияОпределяет позицию первого вхождения подстроки от начала строки.
PosExфункцияОпределяет позицию первого вхождения подстроки, начиная поиск от указанного смещения относительно начала строки.
QuotedStrфункцияВозвращает обкавыченную версию строки.
ReverseStringфункцияВозвращает реверсированную строку.
RightBStrфункцияВозвращает подстроку, содержащую заданное количество байт от конца строки.
RightStrфункцияВозвращает подстроку заданной длины от конца строки.
SameTextфункцияПроверяет идентичность строк без учета регистра и не зависит от локализации Windows.
SetLengthпроцедураУстанавливает длину строки или длину переменной динамического массива.
SetStringфункцияЗадает содержимое и длину данной строки.
SoundExфункцияКонвертирует строку в ее SounEx представление.
SoundExCompareфункцияСравнивает SounEx представление двух строк.
SoundExIntфункцияКонвертирует строку в целочисленный тип Integer, который представляет ее фонетическое значение.
SoundExProcфункцияСравнивает две строки в их фонетическом представлении на длине 4 символов. Если значения совпадают, то строки считаются похожими.
SoundExSimilarфункцияСравнивает две строки в их фонетическом представлении на заданной длине символов. Если значения совпадают, то строки считаются похожими.
SoundExWordфункцияКонвертирует строку в целочисленный тип Word, который представляет ее фонетическое значение.
StrпроцедураПреобразует численное выражение в строку и сохраняет ее в переменной.
StringOfCharфункцияВозвращает строку из указанного количества повторяющихся символов.
StringReplaceфункцияЗаменяет вхождения подстроки заданной строкой. Параметры замены (заменить все, чувствительность к регистру и т.д.) определяются дополнительно.
StuffStringфункцияВставляет подстроку в указанную позицию строки, заменяя имеющиеся символы.
TrimфункцияУдаляет из строки лидирующие и завершающие пробелы.
TrimLeftфункцияУдаляет из строки завершающие пробелы.
TrimRightфункцияУдаляет из строки лидирующие пробелы.
UpperCaseфункцияПереводит ASCII строку в верхний регистр.
ValпроцедураПреобразует строку в число и сохраняет его в переменной.
WideLowerCaseфункцияПереводит Unicode строку в нижний регистр.
WideSameStrфункцияПроверяет идентичность Unicode строк, базирующихся на текущей локализации Windows, с учетом регистра.
WideSameTextфункцияПроверяет идентичность Unicode строк, базирующихся на текущей локализации Windows, без учета регистра.
WideUpperCaseфункцияПереводит Unicode строку в верхний регистр.
WrapTextфункцияРазбивает строку на несколько строк как только их длина достигает определенного размера.

Строки в Delphi состоят из одоного (тип ShortString) или двух байтов (тип AnsiString, WideString), содержащих указание количества символов в строке, и последовательности символов. Таким образом ShortString максимально может содержать до 255 символов и занимать память 2 байта ..256 байт, а AnsiString или WideString - максимально могут содержать примерно 2 x 1030 символов и занимать память 4 байта .. 2 Гбайта.

В типе AnsiString символы кодируются в коде ANSI, а в типе WideString - в коде Unicode.

Общим типом является тип String, который может соответствовать как типу ShortString, так и типу AnsiString. Это определяется директивой компилятора $H. По умолчанию используется {$H+}, и тип String равен типу AnsiString.

Кроме того имеется тип PChar, представляющий так называемую строку с завершающим нулем. Строки с завершающим нулем не содержат байтов длины. В отличие от обычных строк они состоят из последовательности ненулевых символов, за которым следует символ NULL (#0). Никаких ограничений на длину строк с завершающим нулем не накладывается. Фактически он указывает на символ

PChar=^CHAR;

Расширенный синтаксис позволяет ставить в соответствие строкам с завершающим нулем символьный массив типа

PChar=ARRAY[0..X] OF CHAR;

где X - положительное число типа Integer, определяющее количество символов в строке, не считая завершающего символа с кодом 0. В отличие от типа String, символ с индексом 0 здесь является первым символом строки, а последний символ с индексом X - завершающим символом с кодом 0. (см. Функции работы со строками с завершающим нулем)


Список литературы:

  1. Гофман В.Э., Хомоненко А.Д. Delphi 6. - СПб. БХВ-Петербург, 2002. - 1152 с.: ил.
  2. Турбо Паскаль 7.0 - К. Торгово-издательское бюро BHV, 1996 - 448 с.: ил.
  3. Delphi7 Help


Hosted by uCoz