String

Материал из Deeptown Manual
Версия от 13:38, 13 июля 2013; Raw mat (обсуждение | вклад)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Класс string используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке UTF-8. Например, метод length для этого класса, возвращает длинну строки в символах, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс bytea.

Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, библиотека языка K++ вводит операторы [] и []= для упрощения работы со строками. Дополнительно, там же вводятся операции с использованием регулярных выражений.


Родители: Object
Методы: getc get setc set at empty length clear substr substr_int copy copy_int replace replace_int replace_rel replace_rel_int replace_all insert insert_int erase erase_int find find_first_of find_first_not_of begin end
Приводится к типам: int real uid bytea
Реализует операторы: +, +=, <<, присваивания, сравнения


оператор +

operator + (строка: string)
Возвращает: string

Метод возвращает новую строку, полученную путем конкатенации (сложения) текущей и переданной строк.

оператор +=

operator += (строка: string)
Возвращает: текущий объект

Метод изменяет текущую строку, дописывая ей в конец строку, переданную в качестве параметра.

оператор <<

Эквивалент оператора +.

getc

getc(позиция: string_iterator)
Возвращает: int

Метод возвращает числовой код символа, на который указывает переданный итератор.

get

get(индекс: int)
Возвращает: int

Метод возвращает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение ERangeError.

setc

setc(позиция: string_iterator, новый код: int)
Возвращает: текущий объект

Метод устанавливает числовой код символа, на который указывает переданный итератор.

set

set(индекс: int, новый код: int)
Возвращает: текущий объект

Метод устанавливает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение ERangeError.

at

set(индекс: int)
Возвращает: string_iterator

Метод создает строковый итератор и инициализирует его так, чтобы он указывал на символ по переданному индексу.

empty

Возвращает: логическое значение

Метод проверяет строку на наличие в ней данных.

length

Возвращает: int

Метод возвращает длину строки в символах.

clear

Возвращает: текущий объект

Очищает строку от содержимого. После этого строка считается пустой.

substr

substr(начальная позиция: string_iterator, количество символов: int)
Возвращает: string

Метод возвращает указанное количество символов исходной строки, начиная с позиции итератора.

substr_int

substr_int(начальная позиция: int, количество символов: int)
Возвращает: string

Метод аналогичен методу substr, только начальная позиция принимается в виде числа.

copy

substr(начальная позиция: string_iterator, конечная позиция: string_iterator)
Возвращает: string

Метод возвращает подстроку исходной строки по указанным позициям.

copy_int

copy_int(начальная позиция: int, конечная позиция: int)
Возвращает: string

Метод аналогичен методу copy, только позиции принимаются в виде чисел.

replace

replace(начальная позиция: string_iterator, количество символов: int, строка замены: string)
Возвращает: текущий объект

Метод заменяет подстроку исходной строки на данные, предоставленные пользователем.

replace_int

replace(начальная позиция: int, количество символов: int, строка замены: string)
Возвращает: текущий объект

Метод аналогичен методу replace, только позиция передается в виде числа.

replace_rel

replace_rel_int

replace_all

replace_all(подстрока поиска: string, подстрока замены: string)
Возвращает: текущий объект

Метод находит все включения подстроки поиска в исходной строке и заменяет их на подстроку замены.

insert

insert(позиция: string_iterator, строка: string)
Возвращает: текущий объект

Метод вставляет переданную строку в исходную, в месте, указанном итератором.

insert_int

insert(позиция: int, строка: string)
Возвращает: текущий объект

То же, что и метод insert, только позиция передается числом.

erase

erase(начальная позиция: string_iterator, количество символов: string_iterator)
Возвращает: текущий объект

Метод вырезает из исходной строки соответствующую подстроку.

erase_int

erase_int(начальная позиция: int, количество символов: int)
Возвращает: текущий объект

То же, что и метод erase, только позиция передается числом.

find

find(подстрока поиска: string, начальная позиция: string_iterator)
Возвращает: string_iterator

Метод ищет в исходной строке искомую подстроку и возвращает итератор начала вхождения. Для поиска подстроки, начиная с некоторой позиции, может быть передан второй параметр — итератор, установленный на нужную позицию.

find_first_of

find_first_not_of

begin

Возвращает: string_iterator

Метод возвращает указатель на начало строки.

end

Возвращает: string_iterator

Метод возвращает указатель на конец строки.

Примечание: Под "концом строки" здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор string_iterator:--, для движения по строке в обратную сторону.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
информация
документация
Инструменты