PascalABC.NET

Методы типа string

Тип string в PascalABC.NET является классом и содержит ряд свойств, статических и экземплярных методов, а также методов расширения.

В методах класса string считается, что строки индексируются с нуля. Кроме того, ни один метод не меняет строку, т.к. строки в .NET являются неизменяемыми.

Свойства класса String

Свойство Описание
s[i] Индексное свойство. Возвращает или позволяет изменить i-тый символ строки s. Строки в PascalABC.NET индексируются от 1.
Length: integer Возвращает длину строки

Статические методы класса String

Метод Описание
String.Compare(s1,s2: string): integer Сравнивает строки s1 и s2. Возвращает число <0 если s1<s2, =0 если s1=s2 и >0 если s1>s2
String.Compare(s1,s2: string; ignorecase: boolean): integer То же. Если ignorecase=True, то строки сравниваются без учета регистра букв
String.Format(fmtstr: string, params arr: array of object): string; Форматирует параметры arr согласно форматной строке fmtstr
String.Join(ss: array of string; delim: string): string Возвращает строку, полученную слиянием строк ss с использованием delim в качестве разделителя

Экземплярные методы класса String

Отметим, что все экземплярные методы не меняют строку, как это может показаться на первый взгляд, а при необходимости возвращают измененную строку. Кроме того, считается, что символы в сроке индексируются с нуля.

Метод Описание
Contains(s: string): boolean Возвращает True, если текущая строка содержит s, и False в противном случае
EndsWith(s: string): boolean Возвращает True, если текущая строка заканчивается на s, и False в противном случае
IndexOf(s: string): integer Возвращает индекс первого вхождения подстроки s в текущую строку или -1 если подстрока не найдена
IndexOf(s: string; start,count: integer): integer Возвращает индекс первого вхождения подстроки s в текущую строку или -1 если подстрока не найдена. Поиск начинается с символа с номером start и распространяется на следующие count символов
IndexOfAny(cc: array of char): integer Возвращает индекс первого вхождения любого символа из массива сс
Insert(from: integer; s: string): string Возвращает строку, полученную из исходной строки вставкой подстроки s в позицию from
LastIndexOf(s: string): integer Возвращает индекс последнего вхождения подстроки s в текущую строку
LastIndexOf(s: string; start,count: integer): integer Возвращает индекс последнего вхождения подстроки s в текущую строку или -1 если подстрока не найдена. Поиск начинается с символа с номером start и распространяется на следующие count символов
LastIndexOfAny(a: array of char): integer Возвращает индекс последнего вхождения любого символа из массива сс
PadLeft(n: integer): string Возвращает строку, полученную из исходной строки выравниванием по правому краю с заполнением пробелами слева до длины n
PadRight(n: integer): string Возвращает строку, полученную из исходной строки выравниванием по левому краю с заполнением пробелами справа до длины n
Remove(from,len: integer): string Возвращает строку, полученную из исходной строки удалением len симолов с позиции from
Replace(s1,s2: string): string Возвращает строку, полученную из исходной строки заменой всех вхождений подстроки s1 на строку s2
Split(params delim: array of char): array of string Возвращает массив строк, полученный расщеплением исходной строки на слова, при этом в качестве разделителей используется любой из символов delim (по умолчанию - пробел)
StartsWith(s: string): boolean Возвращает True, если текущая строка начинается на s, и False в противном случае
Substring(from,len: integer): string Возвращает подстроку исходной строки с позиции from длины len
ToCharArray: array of char Возвращает динамический массив символов исходной строки
ToLower: string Возвращает строку, приведенную к нижнему регистру
ToUpper: string Возвращает строку, приведенную к верхнему регистру
Trim: string Возвращает строку, полученную из исходной удалением лидирующих и завершающих пробелов
TrimEnd(params cc: array of char): string Возвращает строку, полученную из исходной удалением завершающих символов из массива cc
TrimStart(params cc: array of char): string Возвращает строку, полученную из исходной удалением лидирующих  символов из массива cc

Методы расширения класса String

Некоторые методы расширения - стандартные для .NET, некоторые реализованы только в PascalABC.NET.

Метод Описание
Inverse: string Возвращает инверсию строки
Print Выводит буквы строки, разделенные пробелом
Println Выводит буквы строки, разделенные пробелом, и осуществляет переход на новую строку
ReadInteger(var from: integer): integer Считывает из строки целое число с позиции from и возвращает его. Позиция from при этом увеличивается на считанный элемент
ReadReal(var from: integer): real Считывает из строки вещественное число с позиции from и возвращает его. Позиция from при этом увеличивается на считанный элемент
ReadWord(var from: integer): string Считывает из строки слово до пробела или до конца строки с позиции from и возвращает его. Позиция from при этом увеличивается на считанный элемент
ToInteger: integer Преобразует строку к целому и возвращает его. Если это невозможно, генерируется исключение
ToIntegers: array of integer В строке должны храниться целые, разделенные пробелами. Возвращается массив целых. Если это невозможно, генерируется исключение
ToReal: real Преобразует строку к вещественному и возвращает его. Если это невозможно, генерируется исключение
ToReals: array of real В строке должны храниться вещественные, разделенные пробелами. Возвращается массив вещественных. Если это невозможно, генерируется исключение
ToWords(params delim: array of char): array of string Возвращает массив строк, полученный расщеплением исходной строки на слова, при этом в качестве разделителей используется любой из символов delim (по умолчанию - пробел). В отличие от s.Split не включает в итоговый массив пустые строки. В частности, это означает, что слова могут быть разделены несколькими разделителями delim