Методы типа 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 |