我有一个拆分字符串的功能:
boost::split(r,lines[i],boost::is_any_of("="));
上面的代码按每个“=”拆分字符串我想将此代码转换为只拆分一个“=”.
例:
__ga=223478=90234=234
拆分后:
__ga 223478=90234=234
这该怎么做 ?
解决方法
对此没有必要提升.一个可能的解决方案是使用
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; }
输出:
__ga 223478=90234=234