C boost :: split first of

我有一个拆分字符串的功能
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

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...