该函数用于删除字符串的一部分内容,从而缩短字符串的长度。受影响的字符取决于使用的成员函数版本: 返回值: erase()返回*这个。
null
- 语法1: 删除字符串中的所有字符
string& string ::erase ()
CPP
// CPP code to illustrate // erase() function #include <iostream> #include <string> using namespace std; // Function to demo erase() void eraseDemo(string str) { // Deletes all characters str.erase(); cout << "After erase() : " ; cout << str; } // Driver code int main() { string str( "Hello World!" ); cout << "Before erase() : " ; cout << str << endl; eraseDemo(str); return 0; } |
输出:
Before erase() : Hello World!After erase() :
2.语法2: 删除位置“pos”后的所有字符
string& string ::erase (size_type pos)- Throw out_of_range if idx > size().
CPP
// CPP code to illustrate working of // erase(idx) #include <iostream> #include <string> using namespace std; // Function to demo erase void eraseDemo(string str) { // Deletes all characters except first one str.erase(1); cout << "After erase(idx) : " ; cout << str; } // Driver code int main() { string str( "Hello World!" ); cout << "Before erase(idx) : " ; cout << str << endl; eraseDemo(str); return 0; } |
输出:
Before erase(idx) : Hello World!After erase(idx) : H
3.语法3: 从索引idx开始,最多擦除*的len个字符。
string& string ::erase (size_type idx, size_type len )- If len is missing, all remaining characters are removed.- Throw out_of_range if idx > size().
CPP
// CPP code to illustrate // erase(size_type idx, size_type len ) #include <iostream> #include <string> using namespace std; // Function to demo erase void eraseDemo(string str) { // Deletes 4 characters from index number 1 str.erase(1, 4); cout << "After erase : " ; cout << str; } // Driver code int main() { string str( "Hello World!" ); cout << "Before erase : " ; cout << str << endl; eraseDemo(str); return 0; } |
输出:
Before erase : Hello World!After erase : H World!
4.语法4: 删除迭代器位置的单个字符。
string& string ::erase (iterator pos)- Return the first character after the last character removed- If no such character is remaining then, returns string::end() i.e. position after the last character.
CPP
// CPP code to illustrate // erase(iterator pos) #include <iostream> #include <string> using namespace std; // Function to demo erase void eraseDemo(string str) { // Deletes character at position 4 str.erase(str.begin() + 4); cout << "After erase : " ; cout << str; } // Driver code int main() { string str( "Hello World!" ); cout << "Before erase : " ; cout << str << endl; eraseDemo(str); return 0; } |
输出:
Before erase : Hello World!After erase : Hell World!
5.语法5: 将字符从迭代器位置删除到另一个迭代器位置。
string& string ::erase (iterator beg, iterator end )- Erases all characters of the range [ beg, end)- Returns end i.e. the first character after the last character removed.- If no such character is remaining then, returns string::end() i.e. position after the last character
CPP
// CPP code to illustrate // erase(iterator pos, iterator end) #include <iostream> #include <string> using namespace std; // Function to demo erase void eraseDemo(string str) { // Deletes all characters between 0th index and // str.end() - 6 str.erase(str.begin() + 0, str.end() - 6); cout << "After erase : " ; cout << str; } // Driver code int main() { string str( "Hello World!" ); cout << "Before erase : " ; cout << str << endl; eraseDemo(str); return 0; } |
输出:
Before erase : Hello World!After erase : World!
相关文章: std::string::clear 本文由 萨希·提瓦里 .如果你喜欢极客(我们知道你喜欢!)如果你想投稿,你也可以用 贡献极客。组织 或者把你的文章寄到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。 如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写下评论。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END