<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://man.deeptown.org/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://man.deeptown.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Humbug</id>
		<title>Deeptown Manual - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://man.deeptown.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Humbug"/>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Humbug"/>
		<updated>2026-05-04T19:59:08Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.20.2</generator>

	<entry>
		<id>http://man.deeptown.org/index.php/String</id>
		<title>String</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php/String"/>
				<updated>2009-06-12T16:14:09Z</updated>
		
		<summary type="html">&lt;p&gt;Humbug: /* substr_int */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Класс &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке '''UTF-8'''. Например, метод &amp;lt;tt&amp;gt;[[#length|length]]&amp;lt;/tt&amp;gt; для этого класса, возвращает длинну строки &amp;lt;u&amp;gt;в символах&amp;lt;/u&amp;gt;, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс &amp;lt;tt&amp;gt;[[bytea]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, [[K++#Системная библиотека|библиотека языка K++]] вводит операторы &amp;lt;tt&amp;gt;[]&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;[]=&amp;lt;/tt&amp;gt; для упрощения работы со строками. Дополнительно, там же вводятся операции с использованием [[регулярных выражений]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Родители''': &amp;lt;tt&amp;gt;[[Object]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Методы''': &amp;lt;tt&amp;gt;&lt;br /&gt;
[[#getc|getc]] &lt;br /&gt;
[[#get|get]] &lt;br /&gt;
[[#setc|setc]] &lt;br /&gt;
[[#set|set]] &lt;br /&gt;
[[#at|at]] &lt;br /&gt;
[[#empty|empty]] &lt;br /&gt;
[[#length|length]] &lt;br /&gt;
[[#clear|clear]] &lt;br /&gt;
[[#substr|substr]] &lt;br /&gt;
[[#substr_int|substr_int]] &lt;br /&gt;
[[#copy|copy]] &lt;br /&gt;
[[#copy_int|copy_int]] &lt;br /&gt;
[[#replace|replace]] &lt;br /&gt;
[[#replace_int|replace_int]] &lt;br /&gt;
[[#replace_rel_|replace_rel]] &lt;br /&gt;
[[#replace_rel_int|replace_rel_int]] &lt;br /&gt;
[[#replace_all|replace_all]] &lt;br /&gt;
[[#insert|insert]] &lt;br /&gt;
[[#insert_int|insert_int]] &lt;br /&gt;
[[#erase|erase]] &lt;br /&gt;
[[#erase_int|erase_int]] &lt;br /&gt;
[[#find|find]] &lt;br /&gt;
[[#find_first_of|find_first_of]] &lt;br /&gt;
[[#find_first_not_of|find_first_not_of]] &lt;br /&gt;
[[#begin|begin]] &lt;br /&gt;
[[#end|end]]&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Приводится к типам''': &amp;lt;tt&amp;gt;[[int]] [[real]] [[uid]] [[bytea]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Реализует операторы''': &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +=|+=]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор &amp;lt;&amp;lt;|&amp;lt;&amp;lt;]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
[[оператор присваивания|присваивания]],&lt;br /&gt;
[[операторы сравнения|сравнения]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== оператор + ==&lt;br /&gt;
&lt;br /&gt;
operator + (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает новую строку, полученную путем конкатенации (сложения) текущей и переданной строк.&lt;br /&gt;
&lt;br /&gt;
== оператор += ==&lt;br /&gt;
&lt;br /&gt;
operator += (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод изменяет текущую строку, дописывая ей в конец строку, переданную в качестве параметра.&lt;br /&gt;
&lt;br /&gt;
== оператор &amp;lt;&amp;lt; ==&lt;br /&gt;
&lt;br /&gt;
Эквивалент оператора &amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== getc ==&lt;br /&gt;
&lt;br /&gt;
getc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== get ==&lt;br /&gt;
&lt;br /&gt;
get(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
    for(var int count=0;count&amp;lt;10; count++) {&lt;br /&gt;
    print(&amp;quot;0123456789&amp;quot;.get(count));&lt;br /&gt;
    print(&amp;quot; &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Вернет: 48 49 50 51 52 53 54 55 56 57&lt;br /&gt;
&lt;br /&gt;
== setc ==&lt;br /&gt;
&lt;br /&gt;
setc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== set ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== at ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод создает строковый итератор и инициализирует его так, чтобы он указывал на символ по переданному индексу.&lt;br /&gt;
&lt;br /&gt;
== empty ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': [[логическое значение]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод проверяет строку на наличие в ней данных. &lt;br /&gt;
&lt;br /&gt;
== length ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает длину строки в символах. &lt;br /&gt;
&lt;br /&gt;
== clear ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очищает строку от содержимого. После этого строка считается пустой.&lt;br /&gt;
&lt;br /&gt;
== substr ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указанное количество символов исходной строки, начиная с позиции итератора.&lt;br /&gt;
&lt;br /&gt;
== substr_int ==&lt;br /&gt;
&lt;br /&gt;
substr_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#substr|substr]]&amp;lt;/tt&amp;gt;, только начальная позиция принимается в виде числа.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
    var string word = &amp;quot;Hello&amp;quot;;&lt;br /&gt;
    for(var int i=0;i&amp;lt;word.length(); i++) {&lt;br /&gt;
    puts(word.substr_int(i,1));&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вернет:&lt;br /&gt;
;H&lt;br /&gt;
;e&lt;br /&gt;
;l&lt;br /&gt;
;l&lt;br /&gt;
;o&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
    puts(&amp;quot;Hello_world!&amp;quot;.substr_int(6,6));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Вернет:&lt;br /&gt;
world!&lt;br /&gt;
&lt;br /&gt;
== copy ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает подстроку исходной строки по указанным позициям.&lt;br /&gt;
&lt;br /&gt;
== copy_int ==&lt;br /&gt;
&lt;br /&gt;
copy_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#copy|copy]]&amp;lt;/tt&amp;gt;, только позиции принимаются в виде чисел.&lt;br /&gt;
&lt;br /&gt;
== replace ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод заменяет подстроку исходной строки на данные, предоставленные пользователем.&lt;br /&gt;
&lt;br /&gt;
== replace_int ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#replace|replace]]&amp;lt;/tt&amp;gt;, только позиция передается в виде числа.&lt;br /&gt;
&lt;br /&gt;
== replace_rel ==&lt;br /&gt;
&lt;br /&gt;
== replace_rel_int ==&lt;br /&gt;
&lt;br /&gt;
== replace_all ==&lt;br /&gt;
&lt;br /&gt;
replace_all(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, ''подстрока замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод находит все включения подстроки поиска в исходной строке и заменяет их на подстроку замены.&lt;br /&gt;
&lt;br /&gt;
== insert ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вставляет переданную строку в исходную, в месте, указанном итератором.&lt;br /&gt;
&lt;br /&gt;
== insert_int ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#insert|insert]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== erase ==&lt;br /&gt;
&lt;br /&gt;
erase(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вырезает из исходной строки соответствующую подстроку.&lt;br /&gt;
&lt;br /&gt;
== erase_int ==&lt;br /&gt;
&lt;br /&gt;
erase_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#erase|erase]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== find ==&lt;br /&gt;
&lt;br /&gt;
find(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, &amp;lt;span style=&amp;quot;background-color: #EBEBEB;&amp;quot;&amp;gt;''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод ищет в исходной строке искомую подстроку и возвращает итератор начала вхождения. Для поиска подстроки, начиная с некоторой позиции, может быть передан второй параметр — итератор, установленный на нужную позицию.&lt;br /&gt;
&lt;br /&gt;
== find_first_of ==&lt;br /&gt;
&lt;br /&gt;
== find_first_not_of ==&lt;br /&gt;
&lt;br /&gt;
== begin ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на начало строки.&lt;br /&gt;
&lt;br /&gt;
== end ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на конец строки.&lt;br /&gt;
&lt;br /&gt;
'''Примечание''': Под &amp;quot;концом строки&amp;quot; здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор &amp;lt;tt&amp;gt;[[string_iterator#оператор --|string_iterator:--]]&amp;lt;/tt&amp;gt;, для движения по строке в обратную сторону.&lt;/div&gt;</summary>
		<author><name>Humbug</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php/String</id>
		<title>String</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php/String"/>
				<updated>2009-06-12T16:13:19Z</updated>
		
		<summary type="html">&lt;p&gt;Humbug: /* get */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Класс &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке '''UTF-8'''. Например, метод &amp;lt;tt&amp;gt;[[#length|length]]&amp;lt;/tt&amp;gt; для этого класса, возвращает длинну строки &amp;lt;u&amp;gt;в символах&amp;lt;/u&amp;gt;, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс &amp;lt;tt&amp;gt;[[bytea]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, [[K++#Системная библиотека|библиотека языка K++]] вводит операторы &amp;lt;tt&amp;gt;[]&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;[]=&amp;lt;/tt&amp;gt; для упрощения работы со строками. Дополнительно, там же вводятся операции с использованием [[регулярных выражений]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Родители''': &amp;lt;tt&amp;gt;[[Object]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Методы''': &amp;lt;tt&amp;gt;&lt;br /&gt;
[[#getc|getc]] &lt;br /&gt;
[[#get|get]] &lt;br /&gt;
[[#setc|setc]] &lt;br /&gt;
[[#set|set]] &lt;br /&gt;
[[#at|at]] &lt;br /&gt;
[[#empty|empty]] &lt;br /&gt;
[[#length|length]] &lt;br /&gt;
[[#clear|clear]] &lt;br /&gt;
[[#substr|substr]] &lt;br /&gt;
[[#substr_int|substr_int]] &lt;br /&gt;
[[#copy|copy]] &lt;br /&gt;
[[#copy_int|copy_int]] &lt;br /&gt;
[[#replace|replace]] &lt;br /&gt;
[[#replace_int|replace_int]] &lt;br /&gt;
[[#replace_rel_|replace_rel]] &lt;br /&gt;
[[#replace_rel_int|replace_rel_int]] &lt;br /&gt;
[[#replace_all|replace_all]] &lt;br /&gt;
[[#insert|insert]] &lt;br /&gt;
[[#insert_int|insert_int]] &lt;br /&gt;
[[#erase|erase]] &lt;br /&gt;
[[#erase_int|erase_int]] &lt;br /&gt;
[[#find|find]] &lt;br /&gt;
[[#find_first_of|find_first_of]] &lt;br /&gt;
[[#find_first_not_of|find_first_not_of]] &lt;br /&gt;
[[#begin|begin]] &lt;br /&gt;
[[#end|end]]&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Приводится к типам''': &amp;lt;tt&amp;gt;[[int]] [[real]] [[uid]] [[bytea]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Реализует операторы''': &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +=|+=]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор &amp;lt;&amp;lt;|&amp;lt;&amp;lt;]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
[[оператор присваивания|присваивания]],&lt;br /&gt;
[[операторы сравнения|сравнения]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== оператор + ==&lt;br /&gt;
&lt;br /&gt;
operator + (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает новую строку, полученную путем конкатенации (сложения) текущей и переданной строк.&lt;br /&gt;
&lt;br /&gt;
== оператор += ==&lt;br /&gt;
&lt;br /&gt;
operator += (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод изменяет текущую строку, дописывая ей в конец строку, переданную в качестве параметра.&lt;br /&gt;
&lt;br /&gt;
== оператор &amp;lt;&amp;lt; ==&lt;br /&gt;
&lt;br /&gt;
Эквивалент оператора &amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== getc ==&lt;br /&gt;
&lt;br /&gt;
getc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== get ==&lt;br /&gt;
&lt;br /&gt;
get(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
    for(var int count=0;count&amp;lt;10; count++) {&lt;br /&gt;
    print(&amp;quot;0123456789&amp;quot;.get(count));&lt;br /&gt;
    print(&amp;quot; &amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Вернет: 48 49 50 51 52 53 54 55 56 57&lt;br /&gt;
&lt;br /&gt;
== setc ==&lt;br /&gt;
&lt;br /&gt;
setc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== set ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== at ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод создает строковый итератор и инициализирует его так, чтобы он указывал на символ по переданному индексу.&lt;br /&gt;
&lt;br /&gt;
== empty ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': [[логическое значение]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод проверяет строку на наличие в ней данных. &lt;br /&gt;
&lt;br /&gt;
== length ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает длину строки в символах. &lt;br /&gt;
&lt;br /&gt;
== clear ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очищает строку от содержимого. После этого строка считается пустой.&lt;br /&gt;
&lt;br /&gt;
== substr ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указанное количество символов исходной строки, начиная с позиции итератора.&lt;br /&gt;
&lt;br /&gt;
== substr_int ==&lt;br /&gt;
&lt;br /&gt;
substr_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#substr|substr]]&amp;lt;/tt&amp;gt;, только начальная позиция принимается в виде числа.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
	var string word = &amp;quot;Hello&amp;quot;;&lt;br /&gt;
	for(var int i=0;i&amp;lt;word.length(); i++) {&lt;br /&gt;
	puts(word.substr_int(i,1));&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вернет:&lt;br /&gt;
;H&lt;br /&gt;
;e&lt;br /&gt;
;l&lt;br /&gt;
;l&lt;br /&gt;
;o&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
	puts(&amp;quot;Hello_world!&amp;quot;.substr_int(6,6));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Вернет:&lt;br /&gt;
world!&lt;br /&gt;
&lt;br /&gt;
== copy ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает подстроку исходной строки по указанным позициям.&lt;br /&gt;
&lt;br /&gt;
== copy_int ==&lt;br /&gt;
&lt;br /&gt;
copy_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#copy|copy]]&amp;lt;/tt&amp;gt;, только позиции принимаются в виде чисел.&lt;br /&gt;
&lt;br /&gt;
== replace ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод заменяет подстроку исходной строки на данные, предоставленные пользователем.&lt;br /&gt;
&lt;br /&gt;
== replace_int ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#replace|replace]]&amp;lt;/tt&amp;gt;, только позиция передается в виде числа.&lt;br /&gt;
&lt;br /&gt;
== replace_rel ==&lt;br /&gt;
&lt;br /&gt;
== replace_rel_int ==&lt;br /&gt;
&lt;br /&gt;
== replace_all ==&lt;br /&gt;
&lt;br /&gt;
replace_all(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, ''подстрока замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод находит все включения подстроки поиска в исходной строке и заменяет их на подстроку замены.&lt;br /&gt;
&lt;br /&gt;
== insert ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вставляет переданную строку в исходную, в месте, указанном итератором.&lt;br /&gt;
&lt;br /&gt;
== insert_int ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#insert|insert]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== erase ==&lt;br /&gt;
&lt;br /&gt;
erase(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вырезает из исходной строки соответствующую подстроку.&lt;br /&gt;
&lt;br /&gt;
== erase_int ==&lt;br /&gt;
&lt;br /&gt;
erase_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#erase|erase]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== find ==&lt;br /&gt;
&lt;br /&gt;
find(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, &amp;lt;span style=&amp;quot;background-color: #EBEBEB;&amp;quot;&amp;gt;''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод ищет в исходной строке искомую подстроку и возвращает итератор начала вхождения. Для поиска подстроки, начиная с некоторой позиции, может быть передан второй параметр — итератор, установленный на нужную позицию.&lt;br /&gt;
&lt;br /&gt;
== find_first_of ==&lt;br /&gt;
&lt;br /&gt;
== find_first_not_of ==&lt;br /&gt;
&lt;br /&gt;
== begin ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на начало строки.&lt;br /&gt;
&lt;br /&gt;
== end ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на конец строки.&lt;br /&gt;
&lt;br /&gt;
'''Примечание''': Под &amp;quot;концом строки&amp;quot; здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор &amp;lt;tt&amp;gt;[[string_iterator#оператор --|string_iterator:--]]&amp;lt;/tt&amp;gt;, для движения по строке в обратную сторону.&lt;/div&gt;</summary>
		<author><name>Humbug</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php/String</id>
		<title>String</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php/String"/>
				<updated>2009-06-12T16:03:49Z</updated>
		
		<summary type="html">&lt;p&gt;Humbug: /* substr_int */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Класс &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке '''UTF-8'''. Например, метод &amp;lt;tt&amp;gt;[[#length|length]]&amp;lt;/tt&amp;gt; для этого класса, возвращает длинну строки &amp;lt;u&amp;gt;в символах&amp;lt;/u&amp;gt;, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс &amp;lt;tt&amp;gt;[[bytea]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, [[K++#Системная библиотека|библиотека языка K++]] вводит операторы &amp;lt;tt&amp;gt;[]&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;[]=&amp;lt;/tt&amp;gt; для упрощения работы со строками. Дополнительно, там же вводятся операции с использованием [[регулярных выражений]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Родители''': &amp;lt;tt&amp;gt;[[Object]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Методы''': &amp;lt;tt&amp;gt;&lt;br /&gt;
[[#getc|getc]] &lt;br /&gt;
[[#get|get]] &lt;br /&gt;
[[#setc|setc]] &lt;br /&gt;
[[#set|set]] &lt;br /&gt;
[[#at|at]] &lt;br /&gt;
[[#empty|empty]] &lt;br /&gt;
[[#length|length]] &lt;br /&gt;
[[#clear|clear]] &lt;br /&gt;
[[#substr|substr]] &lt;br /&gt;
[[#substr_int|substr_int]] &lt;br /&gt;
[[#copy|copy]] &lt;br /&gt;
[[#copy_int|copy_int]] &lt;br /&gt;
[[#replace|replace]] &lt;br /&gt;
[[#replace_int|replace_int]] &lt;br /&gt;
[[#replace_rel_|replace_rel]] &lt;br /&gt;
[[#replace_rel_int|replace_rel_int]] &lt;br /&gt;
[[#replace_all|replace_all]] &lt;br /&gt;
[[#insert|insert]] &lt;br /&gt;
[[#insert_int|insert_int]] &lt;br /&gt;
[[#erase|erase]] &lt;br /&gt;
[[#erase_int|erase_int]] &lt;br /&gt;
[[#find|find]] &lt;br /&gt;
[[#find_first_of|find_first_of]] &lt;br /&gt;
[[#find_first_not_of|find_first_not_of]] &lt;br /&gt;
[[#begin|begin]] &lt;br /&gt;
[[#end|end]]&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Приводится к типам''': &amp;lt;tt&amp;gt;[[int]] [[real]] [[uid]] [[bytea]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Реализует операторы''': &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +=|+=]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор &amp;lt;&amp;lt;|&amp;lt;&amp;lt;]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
[[оператор присваивания|присваивания]],&lt;br /&gt;
[[операторы сравнения|сравнения]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== оператор + ==&lt;br /&gt;
&lt;br /&gt;
operator + (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает новую строку, полученную путем конкатенации (сложения) текущей и переданной строк.&lt;br /&gt;
&lt;br /&gt;
== оператор += ==&lt;br /&gt;
&lt;br /&gt;
operator += (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод изменяет текущую строку, дописывая ей в конец строку, переданную в качестве параметра.&lt;br /&gt;
&lt;br /&gt;
== оператор &amp;lt;&amp;lt; ==&lt;br /&gt;
&lt;br /&gt;
Эквивалент оператора &amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== getc ==&lt;br /&gt;
&lt;br /&gt;
getc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== get ==&lt;br /&gt;
&lt;br /&gt;
get(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== setc ==&lt;br /&gt;
&lt;br /&gt;
setc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== set ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== at ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод создает строковый итератор и инициализирует его так, чтобы он указывал на символ по переданному индексу.&lt;br /&gt;
&lt;br /&gt;
== empty ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': [[логическое значение]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод проверяет строку на наличие в ней данных. &lt;br /&gt;
&lt;br /&gt;
== length ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает длину строки в символах. &lt;br /&gt;
&lt;br /&gt;
== clear ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очищает строку от содержимого. После этого строка считается пустой.&lt;br /&gt;
&lt;br /&gt;
== substr ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указанное количество символов исходной строки, начиная с позиции итератора.&lt;br /&gt;
&lt;br /&gt;
== substr_int ==&lt;br /&gt;
&lt;br /&gt;
substr_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#substr|substr]]&amp;lt;/tt&amp;gt;, только начальная позиция принимается в виде числа.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
	var string word = &amp;quot;Hello&amp;quot;;&lt;br /&gt;
	for(var int i=0;i&amp;lt;word.length(); i++) {&lt;br /&gt;
	puts(word.substr_int(i,1));&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вернет:&lt;br /&gt;
;H&lt;br /&gt;
;e&lt;br /&gt;
;l&lt;br /&gt;
;l&lt;br /&gt;
;o&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
	puts(&amp;quot;Hello_world!&amp;quot;.substr_int(6,6));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Вернет:&lt;br /&gt;
world!&lt;br /&gt;
&lt;br /&gt;
== copy ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает подстроку исходной строки по указанным позициям.&lt;br /&gt;
&lt;br /&gt;
== copy_int ==&lt;br /&gt;
&lt;br /&gt;
copy_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#copy|copy]]&amp;lt;/tt&amp;gt;, только позиции принимаются в виде чисел.&lt;br /&gt;
&lt;br /&gt;
== replace ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод заменяет подстроку исходной строки на данные, предоставленные пользователем.&lt;br /&gt;
&lt;br /&gt;
== replace_int ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#replace|replace]]&amp;lt;/tt&amp;gt;, только позиция передается в виде числа.&lt;br /&gt;
&lt;br /&gt;
== replace_rel ==&lt;br /&gt;
&lt;br /&gt;
== replace_rel_int ==&lt;br /&gt;
&lt;br /&gt;
== replace_all ==&lt;br /&gt;
&lt;br /&gt;
replace_all(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, ''подстрока замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод находит все включения подстроки поиска в исходной строке и заменяет их на подстроку замены.&lt;br /&gt;
&lt;br /&gt;
== insert ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вставляет переданную строку в исходную, в месте, указанном итератором.&lt;br /&gt;
&lt;br /&gt;
== insert_int ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#insert|insert]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== erase ==&lt;br /&gt;
&lt;br /&gt;
erase(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вырезает из исходной строки соответствующую подстроку.&lt;br /&gt;
&lt;br /&gt;
== erase_int ==&lt;br /&gt;
&lt;br /&gt;
erase_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#erase|erase]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== find ==&lt;br /&gt;
&lt;br /&gt;
find(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, &amp;lt;span style=&amp;quot;background-color: #EBEBEB;&amp;quot;&amp;gt;''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод ищет в исходной строке искомую подстроку и возвращает итератор начала вхождения. Для поиска подстроки, начиная с некоторой позиции, может быть передан второй параметр — итератор, установленный на нужную позицию.&lt;br /&gt;
&lt;br /&gt;
== find_first_of ==&lt;br /&gt;
&lt;br /&gt;
== find_first_not_of ==&lt;br /&gt;
&lt;br /&gt;
== begin ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на начало строки.&lt;br /&gt;
&lt;br /&gt;
== end ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на конец строки.&lt;br /&gt;
&lt;br /&gt;
'''Примечание''': Под &amp;quot;концом строки&amp;quot; здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор &amp;lt;tt&amp;gt;[[string_iterator#оператор --|string_iterator:--]]&amp;lt;/tt&amp;gt;, для движения по строке в обратную сторону.&lt;/div&gt;</summary>
		<author><name>Humbug</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php/String</id>
		<title>String</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php/String"/>
				<updated>2009-06-12T16:00:48Z</updated>
		
		<summary type="html">&lt;p&gt;Humbug: /* substr_int */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Класс &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке '''UTF-8'''. Например, метод &amp;lt;tt&amp;gt;[[#length|length]]&amp;lt;/tt&amp;gt; для этого класса, возвращает длинну строки &amp;lt;u&amp;gt;в символах&amp;lt;/u&amp;gt;, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс &amp;lt;tt&amp;gt;[[bytea]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, [[K++#Системная библиотека|библиотека языка K++]] вводит операторы &amp;lt;tt&amp;gt;[]&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;[]=&amp;lt;/tt&amp;gt; для упрощения работы со строками. Дополнительно, там же вводятся операции с использованием [[регулярных выражений]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Родители''': &amp;lt;tt&amp;gt;[[Object]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Методы''': &amp;lt;tt&amp;gt;&lt;br /&gt;
[[#getc|getc]] &lt;br /&gt;
[[#get|get]] &lt;br /&gt;
[[#setc|setc]] &lt;br /&gt;
[[#set|set]] &lt;br /&gt;
[[#at|at]] &lt;br /&gt;
[[#empty|empty]] &lt;br /&gt;
[[#length|length]] &lt;br /&gt;
[[#clear|clear]] &lt;br /&gt;
[[#substr|substr]] &lt;br /&gt;
[[#substr_int|substr_int]] &lt;br /&gt;
[[#copy|copy]] &lt;br /&gt;
[[#copy_int|copy_int]] &lt;br /&gt;
[[#replace|replace]] &lt;br /&gt;
[[#replace_int|replace_int]] &lt;br /&gt;
[[#replace_rel_|replace_rel]] &lt;br /&gt;
[[#replace_rel_int|replace_rel_int]] &lt;br /&gt;
[[#replace_all|replace_all]] &lt;br /&gt;
[[#insert|insert]] &lt;br /&gt;
[[#insert_int|insert_int]] &lt;br /&gt;
[[#erase|erase]] &lt;br /&gt;
[[#erase_int|erase_int]] &lt;br /&gt;
[[#find|find]] &lt;br /&gt;
[[#find_first_of|find_first_of]] &lt;br /&gt;
[[#find_first_not_of|find_first_not_of]] &lt;br /&gt;
[[#begin|begin]] &lt;br /&gt;
[[#end|end]]&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Приводится к типам''': &amp;lt;tt&amp;gt;[[int]] [[real]] [[uid]] [[bytea]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Реализует операторы''': &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +=|+=]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор &amp;lt;&amp;lt;|&amp;lt;&amp;lt;]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
[[оператор присваивания|присваивания]],&lt;br /&gt;
[[операторы сравнения|сравнения]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== оператор + ==&lt;br /&gt;
&lt;br /&gt;
operator + (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает новую строку, полученную путем конкатенации (сложения) текущей и переданной строк.&lt;br /&gt;
&lt;br /&gt;
== оператор += ==&lt;br /&gt;
&lt;br /&gt;
operator += (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод изменяет текущую строку, дописывая ей в конец строку, переданную в качестве параметра.&lt;br /&gt;
&lt;br /&gt;
== оператор &amp;lt;&amp;lt; ==&lt;br /&gt;
&lt;br /&gt;
Эквивалент оператора &amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== getc ==&lt;br /&gt;
&lt;br /&gt;
getc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== get ==&lt;br /&gt;
&lt;br /&gt;
get(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== setc ==&lt;br /&gt;
&lt;br /&gt;
setc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== set ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== at ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод создает строковый итератор и инициализирует его так, чтобы он указывал на символ по переданному индексу.&lt;br /&gt;
&lt;br /&gt;
== empty ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': [[логическое значение]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод проверяет строку на наличие в ней данных. &lt;br /&gt;
&lt;br /&gt;
== length ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает длину строки в символах. &lt;br /&gt;
&lt;br /&gt;
== clear ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очищает строку от содержимого. После этого строка считается пустой.&lt;br /&gt;
&lt;br /&gt;
== substr ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указанное количество символов исходной строки, начиная с позиции итератора.&lt;br /&gt;
&lt;br /&gt;
== substr_int ==&lt;br /&gt;
&lt;br /&gt;
substr_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#substr|substr]]&amp;lt;/tt&amp;gt;, только начальная позиция принимается в виде числа.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
	var string x = &amp;quot;Hello&amp;quot;;&lt;br /&gt;
	for(var int i=0;i&amp;lt;x.length(); i++) {&lt;br /&gt;
	var y = x.substr_int(i,1);&lt;br /&gt;
	puts(y);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вернет:&lt;br /&gt;
;H&lt;br /&gt;
;e&lt;br /&gt;
;l&lt;br /&gt;
;l&lt;br /&gt;
;o&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
	var string x = &amp;quot;Hello_world!&amp;quot;;&lt;br /&gt;
	var y = x.substr_int(6,6);&lt;br /&gt;
	puts(y);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Вернет:&lt;br /&gt;
world!&lt;br /&gt;
&lt;br /&gt;
== copy ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает подстроку исходной строки по указанным позициям.&lt;br /&gt;
&lt;br /&gt;
== copy_int ==&lt;br /&gt;
&lt;br /&gt;
copy_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#copy|copy]]&amp;lt;/tt&amp;gt;, только позиции принимаются в виде чисел.&lt;br /&gt;
&lt;br /&gt;
== replace ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод заменяет подстроку исходной строки на данные, предоставленные пользователем.&lt;br /&gt;
&lt;br /&gt;
== replace_int ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#replace|replace]]&amp;lt;/tt&amp;gt;, только позиция передается в виде числа.&lt;br /&gt;
&lt;br /&gt;
== replace_rel ==&lt;br /&gt;
&lt;br /&gt;
== replace_rel_int ==&lt;br /&gt;
&lt;br /&gt;
== replace_all ==&lt;br /&gt;
&lt;br /&gt;
replace_all(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, ''подстрока замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод находит все включения подстроки поиска в исходной строке и заменяет их на подстроку замены.&lt;br /&gt;
&lt;br /&gt;
== insert ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вставляет переданную строку в исходную, в месте, указанном итератором.&lt;br /&gt;
&lt;br /&gt;
== insert_int ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#insert|insert]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== erase ==&lt;br /&gt;
&lt;br /&gt;
erase(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вырезает из исходной строки соответствующую подстроку.&lt;br /&gt;
&lt;br /&gt;
== erase_int ==&lt;br /&gt;
&lt;br /&gt;
erase_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#erase|erase]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== find ==&lt;br /&gt;
&lt;br /&gt;
find(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, &amp;lt;span style=&amp;quot;background-color: #EBEBEB;&amp;quot;&amp;gt;''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод ищет в исходной строке искомую подстроку и возвращает итератор начала вхождения. Для поиска подстроки, начиная с некоторой позиции, может быть передан второй параметр — итератор, установленный на нужную позицию.&lt;br /&gt;
&lt;br /&gt;
== find_first_of ==&lt;br /&gt;
&lt;br /&gt;
== find_first_not_of ==&lt;br /&gt;
&lt;br /&gt;
== begin ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на начало строки.&lt;br /&gt;
&lt;br /&gt;
== end ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на конец строки.&lt;br /&gt;
&lt;br /&gt;
'''Примечание''': Под &amp;quot;концом строки&amp;quot; здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор &amp;lt;tt&amp;gt;[[string_iterator#оператор --|string_iterator:--]]&amp;lt;/tt&amp;gt;, для движения по строке в обратную сторону.&lt;/div&gt;</summary>
		<author><name>Humbug</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php/String</id>
		<title>String</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php/String"/>
				<updated>2009-06-12T15:59:46Z</updated>
		
		<summary type="html">&lt;p&gt;Humbug: /* copy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Класс &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке '''UTF-8'''. Например, метод &amp;lt;tt&amp;gt;[[#length|length]]&amp;lt;/tt&amp;gt; для этого класса, возвращает длинну строки &amp;lt;u&amp;gt;в символах&amp;lt;/u&amp;gt;, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс &amp;lt;tt&amp;gt;[[bytea]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, [[K++#Системная библиотека|библиотека языка K++]] вводит операторы &amp;lt;tt&amp;gt;[]&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;[]=&amp;lt;/tt&amp;gt; для упрощения работы со строками. Дополнительно, там же вводятся операции с использованием [[регулярных выражений]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Родители''': &amp;lt;tt&amp;gt;[[Object]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Методы''': &amp;lt;tt&amp;gt;&lt;br /&gt;
[[#getc|getc]] &lt;br /&gt;
[[#get|get]] &lt;br /&gt;
[[#setc|setc]] &lt;br /&gt;
[[#set|set]] &lt;br /&gt;
[[#at|at]] &lt;br /&gt;
[[#empty|empty]] &lt;br /&gt;
[[#length|length]] &lt;br /&gt;
[[#clear|clear]] &lt;br /&gt;
[[#substr|substr]] &lt;br /&gt;
[[#substr_int|substr_int]] &lt;br /&gt;
[[#copy|copy]] &lt;br /&gt;
[[#copy_int|copy_int]] &lt;br /&gt;
[[#replace|replace]] &lt;br /&gt;
[[#replace_int|replace_int]] &lt;br /&gt;
[[#replace_rel_|replace_rel]] &lt;br /&gt;
[[#replace_rel_int|replace_rel_int]] &lt;br /&gt;
[[#replace_all|replace_all]] &lt;br /&gt;
[[#insert|insert]] &lt;br /&gt;
[[#insert_int|insert_int]] &lt;br /&gt;
[[#erase|erase]] &lt;br /&gt;
[[#erase_int|erase_int]] &lt;br /&gt;
[[#find|find]] &lt;br /&gt;
[[#find_first_of|find_first_of]] &lt;br /&gt;
[[#find_first_not_of|find_first_not_of]] &lt;br /&gt;
[[#begin|begin]] &lt;br /&gt;
[[#end|end]]&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Приводится к типам''': &amp;lt;tt&amp;gt;[[int]] [[real]] [[uid]] [[bytea]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Реализует операторы''': &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +=|+=]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор &amp;lt;&amp;lt;|&amp;lt;&amp;lt;]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
[[оператор присваивания|присваивания]],&lt;br /&gt;
[[операторы сравнения|сравнения]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== оператор + ==&lt;br /&gt;
&lt;br /&gt;
operator + (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает новую строку, полученную путем конкатенации (сложения) текущей и переданной строк.&lt;br /&gt;
&lt;br /&gt;
== оператор += ==&lt;br /&gt;
&lt;br /&gt;
operator += (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод изменяет текущую строку, дописывая ей в конец строку, переданную в качестве параметра.&lt;br /&gt;
&lt;br /&gt;
== оператор &amp;lt;&amp;lt; ==&lt;br /&gt;
&lt;br /&gt;
Эквивалент оператора &amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== getc ==&lt;br /&gt;
&lt;br /&gt;
getc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== get ==&lt;br /&gt;
&lt;br /&gt;
get(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== setc ==&lt;br /&gt;
&lt;br /&gt;
setc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== set ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== at ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод создает строковый итератор и инициализирует его так, чтобы он указывал на символ по переданному индексу.&lt;br /&gt;
&lt;br /&gt;
== empty ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': [[логическое значение]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод проверяет строку на наличие в ней данных. &lt;br /&gt;
&lt;br /&gt;
== length ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает длину строки в символах. &lt;br /&gt;
&lt;br /&gt;
== clear ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очищает строку от содержимого. После этого строка считается пустой.&lt;br /&gt;
&lt;br /&gt;
== substr ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указанное количество символов исходной строки, начиная с позиции итератора.&lt;br /&gt;
&lt;br /&gt;
== substr_int ==&lt;br /&gt;
&lt;br /&gt;
substr_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#substr|substr]]&amp;lt;/tt&amp;gt;, только начальная позиция принимается в виде числа.&lt;br /&gt;
&lt;br /&gt;
== copy ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает подстроку исходной строки по указанным позициям.&lt;br /&gt;
&lt;br /&gt;
== copy_int ==&lt;br /&gt;
&lt;br /&gt;
copy_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#copy|copy]]&amp;lt;/tt&amp;gt;, только позиции принимаются в виде чисел.&lt;br /&gt;
&lt;br /&gt;
== replace ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод заменяет подстроку исходной строки на данные, предоставленные пользователем.&lt;br /&gt;
&lt;br /&gt;
== replace_int ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#replace|replace]]&amp;lt;/tt&amp;gt;, только позиция передается в виде числа.&lt;br /&gt;
&lt;br /&gt;
== replace_rel ==&lt;br /&gt;
&lt;br /&gt;
== replace_rel_int ==&lt;br /&gt;
&lt;br /&gt;
== replace_all ==&lt;br /&gt;
&lt;br /&gt;
replace_all(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, ''подстрока замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод находит все включения подстроки поиска в исходной строке и заменяет их на подстроку замены.&lt;br /&gt;
&lt;br /&gt;
== insert ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вставляет переданную строку в исходную, в месте, указанном итератором.&lt;br /&gt;
&lt;br /&gt;
== insert_int ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#insert|insert]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== erase ==&lt;br /&gt;
&lt;br /&gt;
erase(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вырезает из исходной строки соответствующую подстроку.&lt;br /&gt;
&lt;br /&gt;
== erase_int ==&lt;br /&gt;
&lt;br /&gt;
erase_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#erase|erase]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== find ==&lt;br /&gt;
&lt;br /&gt;
find(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, &amp;lt;span style=&amp;quot;background-color: #EBEBEB;&amp;quot;&amp;gt;''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод ищет в исходной строке искомую подстроку и возвращает итератор начала вхождения. Для поиска подстроки, начиная с некоторой позиции, может быть передан второй параметр — итератор, установленный на нужную позицию.&lt;br /&gt;
&lt;br /&gt;
== find_first_of ==&lt;br /&gt;
&lt;br /&gt;
== find_first_not_of ==&lt;br /&gt;
&lt;br /&gt;
== begin ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на начало строки.&lt;br /&gt;
&lt;br /&gt;
== end ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на конец строки.&lt;br /&gt;
&lt;br /&gt;
'''Примечание''': Под &amp;quot;концом строки&amp;quot; здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор &amp;lt;tt&amp;gt;[[string_iterator#оператор --|string_iterator:--]]&amp;lt;/tt&amp;gt;, для движения по строке в обратную сторону.&lt;/div&gt;</summary>
		<author><name>Humbug</name></author>	</entry>

	<entry>
		<id>http://man.deeptown.org/index.php/String</id>
		<title>String</title>
		<link rel="alternate" type="text/html" href="http://man.deeptown.org/index.php/String"/>
				<updated>2009-06-12T15:55:00Z</updated>
		
		<summary type="html">&lt;p&gt;Humbug: /* copy */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Класс &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; используется для хранения и обработки стороковых данных. Класс предоставляет большое количество методов для управления строками, таких как: выделение, поиск и замена подстрок. Важно отметить, что все строки хранятся и обрабатываются в кодировке '''UTF-8'''. Например, метод &amp;lt;tt&amp;gt;[[#length|length]]&amp;lt;/tt&amp;gt; для этого класса, возвращает длинну строки &amp;lt;u&amp;gt;в символах&amp;lt;/u&amp;gt;, а не в байтах. Таким образом, реальный размер строки, содержащей многобайтные символы, не будет совпадать с ее длиной. При необходимости работы со строками как с потоком байтов, следует использовать класс &amp;lt;tt&amp;gt;[[bytea]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Стандартные библиотеки конкретных языков расширяют функциональность данного класса, вводя дополнительные методы. Например, [[K++#Системная библиотека|библиотека языка K++]] вводит операторы &amp;lt;tt&amp;gt;[]&amp;lt;/tt&amp;gt; и &amp;lt;tt&amp;gt;[]=&amp;lt;/tt&amp;gt; для упрощения работы со строками. Дополнительно, там же вводятся операции с использованием [[регулярных выражений]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Родители''': &amp;lt;tt&amp;gt;[[Object]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Методы''': &amp;lt;tt&amp;gt;&lt;br /&gt;
[[#getc|getc]] &lt;br /&gt;
[[#get|get]] &lt;br /&gt;
[[#setc|setc]] &lt;br /&gt;
[[#set|set]] &lt;br /&gt;
[[#at|at]] &lt;br /&gt;
[[#empty|empty]] &lt;br /&gt;
[[#length|length]] &lt;br /&gt;
[[#clear|clear]] &lt;br /&gt;
[[#substr|substr]] &lt;br /&gt;
[[#substr_int|substr_int]] &lt;br /&gt;
[[#copy|copy]] &lt;br /&gt;
[[#copy_int|copy_int]] &lt;br /&gt;
[[#replace|replace]] &lt;br /&gt;
[[#replace_int|replace_int]] &lt;br /&gt;
[[#replace_rel_|replace_rel]] &lt;br /&gt;
[[#replace_rel_int|replace_rel_int]] &lt;br /&gt;
[[#replace_all|replace_all]] &lt;br /&gt;
[[#insert|insert]] &lt;br /&gt;
[[#insert_int|insert_int]] &lt;br /&gt;
[[#erase|erase]] &lt;br /&gt;
[[#erase_int|erase_int]] &lt;br /&gt;
[[#find|find]] &lt;br /&gt;
[[#find_first_of|find_first_of]] &lt;br /&gt;
[[#find_first_not_of|find_first_not_of]] &lt;br /&gt;
[[#begin|begin]] &lt;br /&gt;
[[#end|end]]&amp;lt;/tt&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
'''Приводится к типам''': &amp;lt;tt&amp;gt;[[int]] [[real]] [[uid]] [[bytea]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
'''Реализует операторы''': &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;,&lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор +=|+=]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
&amp;lt;tt&amp;gt;[[#оператор &amp;lt;&amp;lt;|&amp;lt;&amp;lt;]]&amp;lt;/tt&amp;gt;, &lt;br /&gt;
[[оператор присваивания|присваивания]],&lt;br /&gt;
[[операторы сравнения|сравнения]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&lt;br /&gt;
== оператор + ==&lt;br /&gt;
&lt;br /&gt;
operator + (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает новую строку, полученную путем конкатенации (сложения) текущей и переданной строк.&lt;br /&gt;
&lt;br /&gt;
== оператор += ==&lt;br /&gt;
&lt;br /&gt;
operator += (''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод изменяет текущую строку, дописывая ей в конец строку, переданную в качестве параметра.&lt;br /&gt;
&lt;br /&gt;
== оператор &amp;lt;&amp;lt; ==&lt;br /&gt;
&lt;br /&gt;
Эквивалент оператора &amp;lt;tt&amp;gt;[[#оператор +|+]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== getc ==&lt;br /&gt;
&lt;br /&gt;
getc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== get ==&lt;br /&gt;
&lt;br /&gt;
get(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== setc ==&lt;br /&gt;
&lt;br /&gt;
setc(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, на который указывает переданный итератор.&lt;br /&gt;
&lt;br /&gt;
== set ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''новый код'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод устанавливает числовой код символа, расположенного по переданному индексу (смещение относительно начала строки). При передаче индекса, выходящего за границы строки, будет возбуждено исключение &amp;lt;tt&amp;gt;[[Классы исключений#ERangeError|ERangeError]]&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== at ==&lt;br /&gt;
&lt;br /&gt;
set(''индекс'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод создает строковый итератор и инициализирует его так, чтобы он указывал на символ по переданному индексу.&lt;br /&gt;
&lt;br /&gt;
== empty ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': [[логическое значение]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод проверяет строку на наличие в ней данных. &lt;br /&gt;
&lt;br /&gt;
== length ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает длину строки в символах. &lt;br /&gt;
&lt;br /&gt;
== clear ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Очищает строку от содержимого. После этого строка считается пустой.&lt;br /&gt;
&lt;br /&gt;
== substr ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указанное количество символов исходной строки, начиная с позиции итератора.&lt;br /&gt;
&lt;br /&gt;
== substr_int ==&lt;br /&gt;
&lt;br /&gt;
substr_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#substr|substr]]&amp;lt;/tt&amp;gt;, только начальная позиция принимается в виде числа.&lt;br /&gt;
&lt;br /&gt;
== copy ==&lt;br /&gt;
&lt;br /&gt;
substr(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает подстроку исходной строки по указанным позициям.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;kpp&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
export function void main() {&lt;br /&gt;
	var string x = &amp;quot;Hello&amp;quot;;&lt;br /&gt;
	for(var int i=0;i&amp;lt;x.length(); i++) {&lt;br /&gt;
	var y = x.substr_int(i,1);&lt;br /&gt;
	puts(y);&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вернет:&lt;br /&gt;
;H&lt;br /&gt;
;e&lt;br /&gt;
;l&lt;br /&gt;
;l&lt;br /&gt;
;o&lt;br /&gt;
&lt;br /&gt;
== copy_int ==&lt;br /&gt;
&lt;br /&gt;
copy_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''конечная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#copy|copy]]&amp;lt;/tt&amp;gt;, только позиции принимаются в виде чисел.&lt;br /&gt;
&lt;br /&gt;
== replace ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод заменяет подстроку исходной строки на данные, предоставленные пользователем.&lt;br /&gt;
&lt;br /&gt;
== replace_int ==&lt;br /&gt;
&lt;br /&gt;
replace(''начальная позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод аналогичен методу &amp;lt;tt&amp;gt;[[#replace|replace]]&amp;lt;/tt&amp;gt;, только позиция передается в виде числа.&lt;br /&gt;
&lt;br /&gt;
== replace_rel ==&lt;br /&gt;
&lt;br /&gt;
== replace_rel_int ==&lt;br /&gt;
&lt;br /&gt;
== replace_all ==&lt;br /&gt;
&lt;br /&gt;
replace_all(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, ''подстрока замены'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод находит все включения подстроки поиска в исходной строке и заменяет их на подстроку замены.&lt;br /&gt;
&lt;br /&gt;
== insert ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вставляет переданную строку в исходную, в месте, указанном итератором.&lt;br /&gt;
&lt;br /&gt;
== insert_int ==&lt;br /&gt;
&lt;br /&gt;
insert(''позиция'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''строка'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#insert|insert]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== erase ==&lt;br /&gt;
&lt;br /&gt;
erase(''начальная позиция:'' &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод вырезает из исходной строки соответствующую подстроку.&lt;br /&gt;
&lt;br /&gt;
== erase_int ==&lt;br /&gt;
&lt;br /&gt;
erase_int(''начальная позиция:'' &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;, ''количество символов'': &amp;lt;tt&amp;gt;[[int]]&amp;lt;/tt&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': текущий объект &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
То же, что и метод &amp;lt;tt&amp;gt;[[#erase|erase]]&amp;lt;/tt&amp;gt;, только позиция передается числом.&lt;br /&gt;
&lt;br /&gt;
== find ==&lt;br /&gt;
&lt;br /&gt;
find(''подстрока поиска'': &amp;lt;tt&amp;gt;string&amp;lt;/tt&amp;gt;, &amp;lt;span style=&amp;quot;background-color: #EBEBEB;&amp;quot;&amp;gt;''начальная позиция'': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt;&amp;lt;/span&amp;gt;) &amp;lt;br&amp;gt;&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод ищет в исходной строке искомую подстроку и возвращает итератор начала вхождения. Для поиска подстроки, начиная с некоторой позиции, может быть передан второй параметр — итератор, установленный на нужную позицию.&lt;br /&gt;
&lt;br /&gt;
== find_first_of ==&lt;br /&gt;
&lt;br /&gt;
== find_first_not_of ==&lt;br /&gt;
&lt;br /&gt;
== begin ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на начало строки.&lt;br /&gt;
&lt;br /&gt;
== end ==&lt;br /&gt;
&lt;br /&gt;
'''Возвращает''': &amp;lt;tt&amp;gt;[[string_iterator]]&amp;lt;/tt&amp;gt; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метод возвращает указатель на конец строки.&lt;br /&gt;
&lt;br /&gt;
'''Примечание''': Под &amp;quot;концом строки&amp;quot; здесь понимается позиция за последним символом строки. Таким образом, данный итератор не указывает на данные строки, а служит только как маркер конца строки. Конечно, при желании, можно использовать оператор &amp;lt;tt&amp;gt;[[string_iterator#оператор --|string_iterator:--]]&amp;lt;/tt&amp;gt;, для движения по строке в обратную сторону.&lt;/div&gt;</summary>
		<author><name>Humbug</name></author>	</entry>

	</feed>