我有下一个字符串:
string str1 = "1,123456,name1,4";
string str2;
我想插入str2,str1的字符串(从第9个字母到,
)。
所以str2应该是:name1
如果str1 = "2,234567,namenamename,5"
,那么str2
将是:namenamename
(再次:从第9个字母到,
)。
我不想使用strtok
。
任何帮助表示赞赏!
答案 0 :(得分:4)
您可以将std::string::find()
与std::string::substr()
结合使用:
std::string::size_type pos = 9;
std::string str1 = "1,123456,name1,4";
std::string::size_type commaPos = str1.find(',', pos);
if (commaPos == std::string::npos)
{
commaPos = str1.length();
}
std::string str2 = str1.substr(pos, commaPos - pos);
这是live example。