2011-10-13 83 views
0

嗨我有一个字符串变量与大内容。 我必须从字符串内容中删除不需要的行,并保留其中的内容。 以下是打印字符串之后,我们得到的输出:如何从C++中的字符串中删除不需要的内容?

string varString; 
cout<<"String content :"<<endl<<varString<<endl; 

Output is : 
String content : 
/abc/def/ghi/klm/run.so 
call::myFuncton(int const&) 
call::MY::Method(char const&) 
. 
. 
. 
call::MY::newFunction(char *&) 

现在我已经从上面的字符串变量中删除“调用:: myFuncton(INT常量&)”行,并保持其他数据,因为它是。 任何人都可以告诉我如何从sting变量中删除该行? 在此先感谢

+0

我们可以完全删除单行,用“\ n”字符分隔吗? – BSalunke

回答

2

您可以使用函数varString。 find()找到字符串出现的位置,然后使用varString。 erase()删除文本。

0

您可以使用正则表达式来替换所需的字符串call :: myFuncton(int const &)使用Regex。你可以从这个链接中找到更多关于在C++中使用Regex的信息。C++: what regex library should I use?

+0

如果您打算从单个字符串的大块中删除所有**调用:Func(param)**字符串,则此方法非常有用,否则[find](http://www.cplusplus.com/reference/string/string/find /)和[erase](http://www.cplusplus.com/reference/string/string/erase/)应该工作得很好。 – Srinivas