std::basic_string<CharT,Traits,Allocator>:: replace
|
basic_string
&
replace
(
size_type pos, size_type count,
const basic_string & str ) ; |
(1) | (constexpr desde C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const basic_string & str ) ; |
(2) | (constexpr desde C++20) |
| (3) | ||
|
basic_string
&
replace
(
size_type pos, size_type count,
const
basic_string
&
str,
|
(hasta C++14) | |
|
basic_string
&
replace
(
size_type pos, size_type count,
const
basic_string
&
str,
|
(desde C++14)
(constexpr desde C++20) |
|
|
basic_string
&
replace
(
size_type pos, size_type count,
const CharT * cstr, size_type count2 ) ; |
(4) | (constexpr desde C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const CharT * cstr, size_type count2 ) ; |
(5) | (constexpr desde C++20) |
|
basic_string
&
replace
(
size_type pos, size_type count,
const CharT * cstr ) ; |
(6) | (constexpr desde C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const CharT * cstr ) ; |
(7) | (constexpr desde C++20) |
|
basic_string
&
replace
(
size_type pos, size_type count,
size_type count2, CharT ch ) ; |
(8) | (constexpr desde C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
size_type count2, CharT ch ) ; |
(9) | (constexpr desde C++20) |
|
template
<
class
InputIt
>
basic_string
&
replace
(
const_iterator first, const_iterator last,
|
(10) | (constexpr desde C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
std:: initializer_list < CharT > ilist ) ; |
(11) |
(desde C++11)
(constexpr desde C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
size_type pos, size_type count,
|
(12) |
(desde C++17)
(constexpr desde C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
const_iterator first, const_iterator last,
|
(13) |
(desde C++17)
(constexpr desde C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
size_type pos, size_type count,
|
(14) |
(desde C++17)
(constexpr desde C++20) |
Reemplaza los caracteres en el rango
[
begin
(
)
+
pos
,
begin
(
)
+
std::
min
(
pos
+
count, size
(
)
)
)
o
[
first
,
last
)
con los caracteres dados.
[
pos2
,
std::
min
(
pos2
+
count2, str.
size
(
)
)
)
de
str
.
[
cstr
,
cstr
+
count2
)
.
[
cstr
,
cstr
+
Traits
::
length
(
cstr
)
)
.
[
first2
,
last2
)
como si fuera mediante
replace
(
first, last, basic_string
(
first2, last2, get_allocator
(
)
)
)
.
std:: basic_string_view < CharT, Traits >> es true y std:: is_convertible_v < const StringViewLike & , const CharT * > es false .
std:: basic_string_view < CharT, Traits >> es true y std:: is_convertible_v < const StringViewLike & , const CharT * > es false .
Si
[
begin
(
)
,
first
)
o
[
first
,
last
)
no es un
rango válido
, el comportamiento es indefinido.
Contenidos |
Parámetros
| pos | - | inicio de la subcadena que será reemplazada |
| count | - | longitud de la subcadena que será reemplazada |
| first, last | - | rango de caracteres que será reemplazado |
| str | - | cadena a utilizar para el reemplazo |
| pos2 | - | inicio de la subcadena con la que reemplazar |
| count2 | - | número de caracteres con los que reemplazar |
| cstr | - | puntero a la cadena de caracteres a utilizar para el reemplazo |
| ch | - | valor de carácter a utilizar para el reemplazo |
| first2, last2 | - | rango de caracteres a utilizar para el reemplazo |
| ilist | - | lista de inicialización con los caracteres a utilizar para el reemplazo |
| t | - | objeto (convertible a std::basic_string_view ) con los caracteres a utilizar para el reemplazo |
| Requisitos de tipo | ||
-
InputIt
debe cumplir con los requisitos de
LegacyInputIterator
.
|
||
Valor de retorno
* this .
Excepciones
Si la operación causara que
size()
exceda
max_size()
, lanza
std::length_error
.
Si se lanza una excepción por cualquier razón, estas funciones no tienen efecto ( strong exception safety guarantee ).
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |
Informes de defectos
Los siguientes informes de defectos que modifican el comportamiento se aplicaron retroactivamente a los estándares de C++ publicados anteriormente.
| DR | Aplicado a | Comportamiento publicado | Comportamiento correcto |
|---|---|---|---|
| LWG 847 | C++98 | no existía garantía de seguridad de excepciones | se añadió garantía de seguridad fuerte de excepciones |
| LWG 1323 | C++98 |
los tipos de
first
y
last
eran
iterator
|
cambiados a
const_iterator
|
| LWG 2946 | C++17 | las sobrecargas (12,13) causaban ambigüedad en algunos casos | evitado al convertirlas en plantillas |
Véase también
|
(C++23)
|
reemplaza una porción especificada de una cadena con un rango de caracteres
(función miembro pública) |
|
(C++11)
|
reemplaza ocurrencias de una expresión regular con texto de reemplazo formateado
(plantilla de función) |
|
reemplaza todos los valores que satisfacen criterios específicos con otro valor
(plantilla de función) |