2015-09-25 70 views
2

我有這樣的字符串:001,「約翰馬文」,「醫生」,「全職」 我想刪除(001)後的所有內容SUBSTR,但是,(001)的長度並不總是那麼3我不能把像thie:C++ Substract字符串結尾,不知道結果的長度

string chain = "001,\"John Marvin\",\"doctor\", \"full time\""; 

std::string partial = chain.substr(0,3);

我怎麼能在這種情況下繼續嗎?

+0

[OT]你可能會考慮使用[raw string literal](http://en.cppreference.com/w/cpp/language/string_literal),所以''001,\「John Marvin \」,\「doctor 「,」全日制「」''變成'R「001,」約翰馬文「,」醫生「,」全職「」' – NathanOliver

回答

2

您可以找到第一個逗號的索引並使用它來確定切斷字符串的位置。

喜歡的東西:

string chain = "001,\"John Marvin\",\"doctor\", \"full time\""; 
int cutoff = chain.find(','); 
string newString = chain.substr(0, cutoff); 

測試here

+0

謝謝,我現在有我的答案:) – nassadd