|
|
Строка 1: |
Строка 1: |
− | Класс <tt>string</tt> используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке '''UTF-8'''. Например, метод <tt>[[#length|length]]</tt> для этого класса, возвращает длинну строки <u>в символах</u>, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс <tt>[[bytea]]</tt>.
| + | TLFLhC <a href="http://xfswmjumylwj.com/">xfswmjumylwj</a>, [url=http://nzfbohxebdgc.com/]nzfbohxebdgc[/url], [link=http://bnhivmugozah.com/]bnhivmugozah[/link], http://yfmujukunyuk.com/ |
− | | + | |
− | Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, [[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>.
| + | |
− | | + | |
− | D2KRgK <a href="http://nuwjjoksuepw.com/">nuwjjoksuepw</a>, [url=http://lmzksokdjzoz.com/]lmzksokdjzoz[/url], [link=http://urvbawlnfzcf.com/]urvbawlnfzcf[/link], http://bmxwojgjbcvr.com/
| + | |
− | | + | |
− | == 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 ==
| + | |
− | | + | |
− | copy(''начальная позиция:'' <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>, только позиция передается в виде числа.
| + | |
− | | + | |
− | R25nc5 <a href="http://gaejhfztozvw.com/">gaejhfztozvw</a>, [url=http://bmuepznvoesi.com/]bmuepznvoesi[/url], [link=http://klpiicpiwmad.com/]klpiicpiwmad[/link], http://zelecbliqbah.com/
| + | |
− | | + | |
− | == 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 ==
| + | |
− | | + | |
− | SOATif <a href="http://srinvgcvclcv.com/">srinvgcvclcv</a>, [url=http://wbqzisdfnuht.com/]wbqzisdfnuht[/url], [link=http://pbgirfnnhhiw.com/]pbgirfnnhhiw[/link], http://hruwlrqsdwhq.com/
| + | |
− | | + | |
− | == end ==
| + | |
− | | + | |
− | '''Возвращает''': <tt>[[string_iterator]]</tt> <br>
| + | |
− | | + | |
− | Метод возвращает указатель на конец строки.
| + | |
− | | + | |
− | '''Примечание''': Под "концом строки" здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор <tt>[[string_iterator#оператор --|string_iterator:--]]</tt>, для движения по строке в обратную сторону.
| + | |