STD::String::用C++擦除

该函数用于删除字符串的一部分内容,从而缩短字符串的长度。受影响的字符取决于使用的成员函数版本: 返回值: erase()返回*这个。

null
  1. 语法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
喜欢就支持一下吧
点赞15 分享