public member function
<string>
std::basic_string::replace
| string (1) | basic_string& replace (size_type pos, size_type len, const basic_string& str);basic_string& replace (iterator i1, iterator i2, const basic_string& str); |
|---|---|
| substring (2) | basic_string& replace (size_type pos, size_type len, const basic_string& str, size_type subpos, size_type sublen); |
| c-string (3) | basic_string& replace (size_type pos, size_type len, const charT* s);basic_string& replace (iterator i1, iterator i2, const charT* s); |
| buffer (4) | basic_string& replace (size_type pos, size_type len, const charT* s, size_type n);basic_string& replace (iterator i1, iterator i2, const charT* s, size_type n); |
| fill (5) | basic_string& replace (size_type pos, size_type len, size_type n, charT c);basic_string& replace (iterator i1, iterator i2, size_type n, charT c); |
| range (6) | template <class InputIterator> basic_string& replace (iterator i1, iterator i2, InputIterator first, InputIterator last); |
| string (1) | basic_string& replace (size_type pos, size_type len, const basic_string& str);basic_string& replace (const_iterator i1, const_iterator i2, const basic_string& str); |
|---|---|
| substring (2) | basic_string& replace (size_type pos, size_type len, const basic_string& str, size_type subpos, size_type sublen); |
| c-string (3) | basic_string& replace (size_type pos, size_type len, const charT* s);basic_string& replace (const_iterator i1, const_iterator i2, const charT* s); |
| buffer (4) | basic_string& replace (size_type pos, size_type len, const charT* s, size_type n);basic_string& replace (const_iterator i1, const_iterator i2, const charT* s, size_type n); |
| fill (5) | basic_string& replace (size_type pos, size_type len, size_type n, charT c);basic_string& replace (const_iterator i1, const_iterator i2, size_type n, charT c); |
| range (6) | template <class InputIterator> basic_string& replace (const_iterator i1, const_iterator i2, InputIterator first, InputIterator last); |
| initializer list (7) | basic_string& replace (const_iterator i1, const_iterator i2, initializer_list<charT> il); |
| string (1) | basic_string& replace (size_type pos, size_type len, const basic_string& str);basic_string& replace (const_iterator i1, const_iterator i2, const basic_string& str); |
|---|---|
| substring (2) | basic_string& replace (size_type pos, size_type len, const basic_string& str, size_type subpos, size_type sublen = npos); |
| c-string (3) | basic_string& replace (size_type pos, size_type len, const charT* s);basic_string& replace (const_iterator i1, const_iterator i2, const charT* s); |
| buffer (4) | basic_string& replace (size_type pos, size_type len, const charT* s, size_type n);basic_string& replace (const_iterator i1, const_iterator i2, const charT* s, size_type n); |
| fill (5) | basic_string& replace (size_type pos, size_type len, size_type n, charT c);basic_string& replace (const_iterator i1, const_iterator i2, size_type n, charT c); |
| range (6) | template <class InputIterator> basic_string& replace (const_iterator i1, const_iterator i2, InputIterator first, InputIterator last); |
| initializer list (7) | basic_string& replace (const_iterator i1, const_iterator i2, initializer_list<charT> il); |
Replace portion of string
- (1) string
- Copies str.
- (2) substring
- Copies the portion of str that begins at the character position subpos and spans sublen characters (or until the end of str, if either str is too short or if sublen is basic_string::npos).
- (3) c-string
- Copies the null-terminated character sequence (C-string) pointed by s.
The length is determined by calling traits.length(s). - (4) buffer
- Copies the first n characters from the array of characters pointed by s.
- (5) fill
- Replaces the portion of the string by n consecutive copies of character c.
- (6) range
- Copies the sequence of characters in the range [first,last), in the same order.
- (7) initializer list
- Copies each of the characters in il, in the same order.
Parameters
- str
- Another basic_string object of the same type (with the same class template arguments charT, traits and Alloc), whose value is copied.
- pos
- Position of the first character to be replaced.
If this is greater than the string length, it throws out_of_range.
- len
- Number of characters to replace (if the string is shorter, as many characters as possible are replaced).
A value of basic_string::npos indicates all characters until the end of the string. - subpos
- Position of the first character in str that is copied to the object as replacement.
If this is greater than str's length, it throws out_of_range.
- sublen
- Length of the substring to be copied (if the string is shorter, as many characters as possible are copied).
A value of basic_string::npos indicates all characters until the end of str. - s
- Pointer to an array of characters (such as a c-string).
- n
- Number of characters to copy.
- c
- Character value, repeated n times.
- first, last
- Input iterators to the initial and final positions in a range. The range used is [first,last), which includes all the characters between first and last, including the character pointed by first but not the character pointed by last.
The function template argument InputIterator shall be an input iterator type that points to elements of a type convertible to charT. - il
- An initializer_list object.
These objects are automatically constructed from initializer list declarators.
charT is basic_string's character type (i.e., its first template parameter).
Member type size_type is an unsigned integral type.
Return Value
*thisExample
|
|
Output:
Complexity
Unspecified, but generally up to linear in the new string length.Iterator validity
Any iterators, pointers and references related to this object may be invalidated.Data races
The object is modified.Exception safety
Strong guarantee: if an exception is thrown, there are no changes in the basic_string.If
s does not point to an array long enough, or if the range specified by [first,last) is not valid, it causes undefined behavior.
If pos is greater than the string length, or if subpos is greater than str's length, an out_of_range exception is thrown.
If the resulting string length would exceed the max_size, a length_error exception is thrown.
If the type uses the default allocator, a bad_alloc exception is thrown if the function needs to allocate storage and fails.
See also
- basic_string::insert
- Insert into string (public member function)
- basic_string::append
- Append to string (public member function)
- basic_string::substr
- Generate substring (public member function)
- basic_string::erase
- Erase characters from string (public member function)
- basic_string::assign
- Assign content to string (public member function)