如何在C ++中删除部分字符串

时间:2015-05-28 08:41:52

标签: c++ string operators

我想知道是否有办法在c ++中删除部分字符串并将剩余部分保存在变量中。

com是来自用户的输入,(例如:Write myfile

我想从此输入中删除Write以仅获取(myfile)作为要创建的文件的名称。 Write变量包含字符串(Write)。 Com是输入,names是保存文件名称的变量。

write.names = com - write.Writevariable;

3 个答案:

答案 0 :(得分:3)

#include <string>
#include <iostream>           // std::cout & std::cin
using namespace std;

int main ()
{
  string str ("This is an example phrase.");
  string::iterator it;

  str.erase (10,8);
  cout << str << endl;        // "This is an phrase."

  it=str.begin()+9;
  str.erase (it);
  cout << str << endl;        // "This is a phrase."

  str.erase (str.begin()+5, str.end()-7);
  cout << str << endl;        // "This phrase."
  return 0;
}

你可以获得该位置并删除一个字符串。

答案 1 :(得分:2)

您可以使用string::erase()方法

答案 2 :(得分:0)

使用std::string::substr删除部分字符串。

std::string names = com.substr( write.length() );

如其他答案中所述,您也可以使用std::string::erase,但在其他变量中需要额外的副本。用法:

std::string names(com);
names.erase(0, write.length());