String — различия между версиями

Материал из Deeptown Manual
Перейти к: навигация, поиск
(uSOKjMIqKNUCLiZzF)
 
(не показаны 26 промежуточных версий 1 участника)
Строка 1: Строка 1:
0, http://www.pcplusjob.com/2009_03_01_archive.html Web Site, http://www.formedplate.com/links.htm visit your url, http://www.edgebarnes.com/bottom.htm article source, http://www.edgebarnes.com/flavette.htm edgebarnes .com,
+
Класс <tt>string</tt> используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке '''UTF-8'''. Например, метод <tt>[[#length|length]]</tt> для этого класса, возвращает длинну строки <u>в символах</u>, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс <tt>[[bytea]]</tt>.
 +
 
 +
Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, [[K++#Системная библиотека|библиотека языка K++]] вводит операторы <tt>[]</tt> и <tt>[]=</tt> для упрощения работы со строками. Дополнительно, там же вводятся операции с использованием [[регулярных выражений]].
 +
 
 +
 
 +
'''Родители''': <tt>[[Object]]</tt> <br>
 +
'''Методы''': <tt>
 +
[[#getc|getc]]
 +
[[#get|get]]
 +
[[#setc|setc]]
 +
[[#set|set]]
 +
[[#at|at]]
 +
[[#empty|empty]]
 +
[[#length|length]]
 +
[[#clear|clear]]
 +
[[#substr|substr]]
 +
[[#substr_int|substr_int]]
 +
[[#copy|copy]]
 +
[[#copy_int|copy_int]]
 +
[[#replace|replace]]
 +
[[#replace_int|replace_int]]
 +
[[#replace_rel_|replace_rel]]
 +
[[#replace_rel_int|replace_rel_int]]
 +
[[#replace_all|replace_all]]
 +
[[#insert|insert]]
 +
[[#insert_int|insert_int]]
 +
[[#erase|erase]]
 +
[[#erase_int|erase_int]]
 +
[[#find|find]]
 +
[[#find_first_of|find_first_of]]
 +
[[#find_first_not_of|find_first_not_of]]
 +
[[#begin|begin]]
 +
[[#end|end]]</tt><br>
 +
'''Приводится к типам''': <tt>[[int]] [[real]] [[uid]] [[bytea]]</tt> <br>
 +
'''Реализует операторы''':
 +
<tt>[[#оператор +|+]]</tt>,
 +
<tt>[[#оператор +=|+=]]</tt>,
 +
<tt>[[#оператор <<|<<]]</tt>,
 +
[[оператор присваивания|присваивания]],
 +
[[операторы сравнения|сравнения]] <br>
 +
 
 +
__NOTOC__
 +
 
 +
== оператор + ==
 +
 
 +
operator + (''строка'': <tt>string</tt>) <br>
 +
'''Возвращает''': <tt>string</tt> <br>
 +
 
 +
Метод возвращает новую строку, полученную путем конкатенации (сложения) текущей и переданной строк.
 +
 
 +
== оператор += ==
 +
 
 +
operator += (''строка'': <tt>string</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Метод изменяет текущую строку, дописывая ей в конец строку, переданную в качестве параметра.
 +
 
 +
== оператор << ==
 +
 
 +
Эквивалент оператора <tt>[[#оператор +|+]]</tt>.
 +
 
 +
== getc ==
 +
 
 +
getc(''позиция'': <tt>[[string_iterator]]</tt>) <br>
 +
'''Возвращает''': <tt>[[int]]</tt> <br>
 +
 
 +
Метод возвращает числовой код символа, на который указывает переданный итератор.
 +
 
 +
== get ==
 +
 
 +
get(''индекс'': <tt>[[int]]</tt>) <br>
 +
'''Возвращает''': <tt>[[int]]</tt> <br>
 +
 
 +
Метод возвращает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение <tt>[[Классы исключений#ERangeError|ERangeError]]</tt>.
 +
 
 +
== setc ==
 +
 
 +
setc(''позиция'': <tt>[[string_iterator]]</tt>, ''новый код'': <tt>[[int]]</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Метод устанавливает числовой код символа, на который указывает переданный итератор.
 +
 
 +
== set ==
 +
 
 +
set(''индекс'': <tt>[[int]]</tt>, ''новый код'': <tt>[[int]]</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Метод устанавливает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение <tt>[[Классы исключений#ERangeError|ERangeError]]</tt>.
 +
 
 +
== at ==
 +
 
 +
set(''индекс'': <tt>[[int]]</tt>) <br>
 +
'''Возвращает''': <tt>[[string_iterator]]</tt> <br>
 +
 
 +
Метод создает строковый итератор и инициализирует его так, чтобы он указывал на символ по переданному индексу.
 +
 
 +
== empty ==
 +
 
 +
'''Возвращает''': [[логическое значение]] <br>
 +
 
 +
Метод проверяет строку на наличие в ней данных.
 +
 
 +
== length ==
 +
 
 +
'''Возвращает''': <tt>[[int]]</tt> <br>
 +
 
 +
Метод возвращает длину строки в символах.  
 +
 
 +
== clear ==
 +
 
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Очищает строку от содержимого. После этого строка считается пустой.
 +
 
 +
== substr ==
 +
 
 +
substr(''начальная позиция:'' <tt>[[string_iterator]]</tt>, ''количество символов'': <tt>[[int]]</tt>) <br>
 +
'''Возвращает''': <tt>string</tt> <br>
 +
 
 +
Метод возвращает указанное количество символов исходной строки, начиная с позиции итератора.
 +
 
 +
== substr_int ==
 +
 
 +
substr_int(''начальная позиция:'' <tt>[[int]]</tt>, ''количество символов'': <tt>[[int]]</tt>) <br>
 +
'''Возвращает''': <tt>string</tt> <br>
 +
 
 +
Метод аналогичен методу <tt>[[#substr|substr]]</tt>, только начальная позиция принимается в виде числа.
 +
 
 +
== copy ==
 +
 
 +
substr(''начальная позиция:'' <tt>[[string_iterator]]</tt>, ''конечная позиция'': <tt>[[string_iterator]]</tt>) <br>
 +
'''Возвращает''': <tt>string</tt> <br>
 +
 
 +
Метод возвращает подстроку исходной строки по указанным позициям.
 +
 
 +
== copy_int ==
 +
 
 +
copy_int(''начальная позиция:'' <tt>[[int]]</tt>, ''конечная позиция'': <tt>[[int]]</tt>) <br>
 +
'''Возвращает''': <tt>string</tt> <br>
 +
 
 +
Метод аналогичен методу <tt>[[#copy|copy]]</tt>, только позиции принимаются в виде чисел.
 +
 
 +
== replace ==
 +
 
 +
replace(''начальная позиция'': <tt>[[string_iterator]]</tt>, ''количество символов'': <tt>[[int]]</tt>, ''строка замены'': <tt>string</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Метод заменяет подстроку исходной строки на данные, предоставленные пользователем.
 +
 
 +
== replace_int ==
 +
 
 +
replace(''начальная позиция'': <tt>[[int]]</tt>, ''количество символов'': <tt>[[int]]</tt>, ''строка замены'': <tt>string</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Метод аналогичен методу <tt>[[#replace|replace]]</tt>, только позиция передается в виде числа.
 +
 
 +
== replace_rel ==
 +
 
 +
== replace_rel_int ==
 +
 
 +
== replace_all ==
 +
 
 +
replace_all(''подстрока поиска'': <tt>string</tt>, ''подстрока замены'': <tt>string</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Метод находит все включения подстроки поиска в исходной строке и заменяет их на подстроку замены.
 +
 
 +
== insert ==
 +
 
 +
insert(''позиция'': <tt>[[string_iterator]]</tt>, ''строка'': <tt>string</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Метод вставляет переданную строку в исходную, в месте, указанном итератором.
 +
 
 +
== insert_int ==
 +
 
 +
insert(''позиция'': <tt>[[int]]</tt>, ''строка'': <tt>string</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
То же, что и метод <tt>[[#insert|insert]]</tt>, только позиция передается числом.
 +
 
 +
== erase ==
 +
 
 +
erase(''начальная позиция:'' <tt>[[string_iterator]]</tt>, ''количество символов'': <tt>[[string_iterator]]</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
Метод вырезает из исходной строки соответствующую подстроку.
 +
 
 +
== erase_int ==
 +
 
 +
erase_int(''начальная позиция:'' <tt>[[int]]</tt>, ''количество символов'': <tt>[[int]]</tt>) <br>
 +
'''Возвращает''': текущий объект <br>
 +
 
 +
То же, что и метод <tt>[[#erase|erase]]</tt>, только позиция передается числом.
 +
 
 +
== find ==
 +
 
 +
find(''подстрока поиска'': <tt>string</tt>, <span style="background-color: #EBEBEB;">''начальная позиция'': <tt>[[string_iterator]]</tt></span>) <br>
 +
'''Возвращает''': <tt>[[string_iterator]]</tt> <br>
 +
 
 +
Метод ищет в исходной строке искомую подстроку и возвращает итератор начала вхождения. Для поиска подстроки, начиная с некоторой позиции, может быть передан второй параметр — итератор, установленный на нужную позицию.
 +
 
 +
== find_first_of ==
 +
 
 +
== find_first_not_of ==
 +
 
 +
== begin ==
 +
 
 +
'''Возвращает''': <tt>[[string_iterator]]</tt> <br>
 +
 
 +
Метод возвращает указатель на начало строки.
 +
 
 +
== end ==
 +
 
 +
'''Возвращает''': <tt>[[string_iterator]]</tt> <br>
 +
 
 +
Метод возвращает указатель на конец строки.
 +
 
 +
'''Примечание''': Под "концом строки" здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор <tt>[[string_iterator#оператор --|string_iterator:--]]</tt>, для движения по строке в обратную сторону.

Текущая версия на 13:38, 13 июля 2013

Класс 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:--, для движения по строке в обратную сторону.

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

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