C++中两个有用的例程:容器字符串化与字符串分词

  • 容器中元素字符串化
template <typename C, typename T> std::string toString(const C& container, const T& delim)
{
    std::stringstream result;
    for (auto it = container.begin(); it != container.end(); ++it) {
        result << *it;
        if (std::distance(it, container.end()) != 1)
            result << delim;
    }
    return result.str();
}
  • 字符串分词Tokenize
std::vector<std::string> tokenize(const std::string& str, const std::string& delimeter)
{
    std::vector<std::string> result;
    size_t start = str.find_first_not_of(delimeter);
    size_t end = start;

    while (start != std::string::npos) {
        // Find next occurence of delimiter
        end = str.find(delimeter, start);
        // Push back the token found into vector
        result.push_back(str.substr(start, end - start));
        // Skip all occurences of the delimiter to find new start
        start = str.find_first_not_of(delimeter, end);
    }
    return result;
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值