我有一个拆分字符串的功能:
boost::split(r,lines[i], boost::is_any_of("="));
Run Code Online (Sandbox Code Playgroud)
上面的代码按每个"="拆分字符串我想将此代码转换为只拆分一个"=".例:
__ga=223478=90234=234
Run Code Online (Sandbox Code Playgroud)
拆分后:
__ga
223478=90234=234
Run Code Online (Sandbox Code Playgroud)
这该怎么做 ?
hmj*_*mjd 11
对此没有必要提升.一个可能的解决方案是使用std::string::find_first_of()和创建两个字符串使用std::string::substr()结果:
#include <iostream>
#include <string>
int main()
{
std::string name_value = "__ga=223478=90234=234";
std::string name;
std::string value;
const auto equals_idx = name_value.find_first_of('=');
if (std::string::npos != equals_idx)
{
name = name_value.substr(0, equals_idx);
value = name_value.substr(equals_idx + 1);
}
else
{
name = name_value;
}
std::cout << name << std::endl
<< value << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出:
__ga 223478=90234=234