std::basic_string<CharT,Traits,Allocator>:: replace
|
basic_string
&
replace
(
size_type pos, size_type count,
const basic_string & str ) ; |
(1) | (constexpr seit C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const basic_string & str ) ; |
(2) | (constexpr seit C++20) |
| (3) | ||
|
basic_string
&
replace
(
size_type pos, size_type count,
const
basic_string
&
str,
|
(bis C++14) | |
|
basic_string
&
replace
(
size_type pos, size_type count,
const
basic_string
&
str,
|
(seit C++14)
(constexpr seit C++20) |
|
|
basic_string
&
replace
(
size_type pos, size_type count,
const CharT * cstr, size_type count2 ) ; |
(4) | (constexpr seit C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const CharT * cstr, size_type count2 ) ; |
(5) | (constexpr seit C++20) |
|
basic_string
&
replace
(
size_type pos, size_type count,
const CharT * cstr ) ; |
(6) | (constexpr seit C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
const CharT * cstr ) ; |
(7) | (constexpr seit C++20) |
|
basic_string
&
replace
(
size_type pos, size_type count,
size_type count2, CharT ch ) ; |
(8) | (constexpr seit C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
size_type count2, CharT ch ) ; |
(9) | (constexpr seit C++20) |
|
template
<
class
InputIt
>
basic_string
&
replace
(
const_iterator first, const_iterator last,
|
(10) | (constexpr seit C++20) |
|
basic_string
&
replace
(
const_iterator first, const_iterator last,
std:: initializer_list < CharT > ilist ) ; |
(11) |
(seit C++11)
(constexpr seit C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
size_type pos, size_type count,
|
(12) |
(seit C++17)
(constexpr seit C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
const_iterator first, const_iterator last,
|
(13) |
(seit C++17)
(constexpr seit C++20) |
|
template
<
class
StringViewLike
>
basic_string
&
replace
(
size_type pos, size_type count,
|
(14) |
(seit C++17)
(constexpr seit C++20) |
Ersetzt die Zeichen im Bereich
[
begin
(
)
+
pos
,
begin
(
)
+
std::
min
(
pos
+
count, size
(
)
)
)
oder
[
first
,
last
)
mit den angegebenen Zeichen.
[
pos2
,
std::
min
(
pos2
+
count2, str.
size
(
)
)
)
von
str
.
[
cstr
,
cstr
+
count2
)
ersetzt.
[
cstr
,
cstr
+
Traits
::
length
(
cstr
)
)
ersetzt.
[
first2
,
last2
)
ersetzt, als ob durch
replace
(
first, last, basic_string
(
first2, last2, get_allocator
(
)
)
)
.
std:: basic_string_view < CharT, Traits >> true ist und std:: is_convertible_v < const StringViewLike & , const CharT * > false ist.
std:: basic_string_view < CharT, Traits >> true ist und std:: is_convertible_v < const StringViewLike & , const CharT * > false ist.
Wenn
[
begin
(
)
,
first
)
oder
[
first
,
last
)
kein
gültiger Bereich
ist, ist das Verhalten undefiniert.
Inhaltsverzeichnis |
Parameter
| pos | - | Anfang der zu ersetzenden Teilzeichenkette |
| count | - | Länge der zu ersetzenden Teilzeichenkette |
| first, last | - | Bereich der zu ersetzenden Zeichen |
| str | - | Zeichenkette für den Ersatz |
| pos2 | - | Anfang der Ersatz-Teilzeichenkette |
| count2 | - | Anzahl der zu ersetzenden Zeichen |
| cstr | - | Zeiger auf die Ersatz-Zeichenkette |
| ch | - | Zeichenwert für den Ersatz |
| first2, last2 | - | Bereich der Ersatzzeichen |
| ilist | - | Initialisierungsliste mit den Ersatzzeichen |
| t | - | Objekt (konvertierbar zu std::basic_string_view ) mit den Ersatzzeichen |
| Typanforderungen | ||
-
InputIt
muss die Anforderungen von
LegacyInputIterator
erfüllen.
|
||
Rückgabewert
* this .
Ausnahmen
Falls die Operation dazu führen würde, dass
size()
die
max_size()
überschreitet, wird
std::length_error
geworfen.
Wenn aus irgendeinem Grund eine Exception ausgelöst wird, haben diese Funktionen keine Wirkung ( strong exception safety guarantee ).
Beispiel
|
Dieser Abschnitt ist unvollständig
Grund: Kein Beispiel |
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 847 | C++98 | es gab keine Exception-Sicherheitsgarantie | starke Exception-Sicherheitsgarantie hinzugefügt |
| LWG 1323 | C++98 |
die Typen von
first
und
last
waren
iterator
|
geändert zu
const_iterator
|
| LWG 2946 | C++17 | Überladungen (12,13) verursachten in einigen Fällen Mehrdeutigkeit | vermieden durch Template-Implementierung |
Siehe auch
|
(C++23)
|
ersetzt einen bestimmten Teilbereich eines Strings mit einem Zeichenbereich
(öffentliche Elementfunktion) |
|
(C++11)
|
ersetzt Vorkommen eines regulären Ausdrucks mit formatiertem Ersatztext
(Funktionstemplate) |
|
ersetzt alle Werte, die bestimmte Kriterien erfüllen, mit einem anderen Wert
(Funktionstemplate) |