std::basic_string::replace
basic_string& replace( size_type pos, size_type count, const basic_string& str ); |
(1) | |
basic_string& replace( size_type pos, size_type count, const basic_string& str, |
(2) | |
basic_string& replace( size_type pos, size_type count, const CharT* cstr, size_type count2 ); |
(3) | |
basic_string& replace( size_type pos, size_type count, const CharT* cstr ); |
(4) | |
basic_string& replace( size_type pos, size_type count, size_type count2, CharT ch ); |
(5) | |
basic_string& replace( const_iterator first, const_iterator last, std::initializer_list<CharT> ilist ); |
(6) | (начиная с C++11) |
Заменяет часть строки, указанную диапазоном [pos, pos + count)
или [first, last)
, на новую строку.
Новой строкой может быть:
1) строка str
2) подстрока [pos2, pos2 + count2)
из str
или символы в диапазоне [first2, last2)
3) первые count2
символов строки, на которую указывает cstr
4) строка с завершающим нулевым символом, на которую указывает cstr
5) count2
символов ch
6) символы в списке инициализации ilist
Содержание |
[править] Параметры
pos | - | позиция начала подстроки, которая будет заменена |
count | - | длина подстроки, которая будет заменена |
first, last | - | диапазон символов, которые будут заменены |
str | - | строка, используемая для замены |
pos2 | - | позиция начала подстроки, используемой для замены |
count2 | - | количество символов замены |
cstr | - | указатель на строку символов, используемую для замены |
ch | - | значение символа, используемого для замены |
first2, last2 | - | диапазон символов, используемых для замены |
init | - | список инициализации с символами, используемыми для замены |
Требования к типам | ||
-InputIt должен соответствовать требованиям InputIterator .
|
[править] Возвращаемое значение
*this
[править] Исключения
std::out_of_range, если pos > length()
или pos2 > str.length()
std::length_error, если результирующая строка будет превышать максимально возможную длину (std::string::npos - 1
)
[править] Пример
#include <iostream> #include <string> int main() { std::string str("The quick brown fox jumps over the lazy dog."); str.replace(10, 5, "red"); // (4) str.replace(str.begin(), str.begin() + 3, 1, 'A'); // (5) std::cout << str << '\n'; }
Вывод:
A quick red fox jumps over the lazy dog.