C boost :: split first of

前端之家收集整理的这篇文章主要介绍了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
原文链接:https://www.f2er.com/c/118259.html

猜你在找的C&C++相关文章