我有;
string str = "";
在str中,我存储数据的格式为“_:_,_”
“_”可以只是像“X”这样的单词,也可以是像“sds 23 dsds 1”这样的单词组合
我希望他们将其解析为三个不同的字符串;
in str : X:y dfj kd kk,sdd 12 89 ++
string parsed[i] ;
in parsed[0] : X
in parsed[1] : y dfj kd kk
in parsed[2] : sdd 12 89 ++
如何使用c ++ std :: string功能?
答案 0 :(得分:1)
您可以使用以下std:string方法拆分字符串,例如:
size_t index1 = str.find( ":" ) + 1;
size_t index2 = str.find( ",", index1 ) + 1;
std::string sub1 = str.substr (0, index1-1);
std::string sub2 = str.substr (index1, index2-index1-1);
std::string sub3 = str.substr (index2, str.length()-index2);
答案 1 :(得分:0)
使用boost/algorithm/string.hpp
std::string str = "X:y dfj kd kk,sdd 12 89 ++"
std::vector<std::string> v;
boost::split(v, str, boost::is_any_of(":,"));
您也可以将它用于多字节字符串。