2011-10-13 30 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