gpt4 book ai didi

c++ - 使用 boost 生成适当数量的 token

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:03:11 27 4
gpt4 key购买 nike

我有如下代码

 std::string some_string = "-0.003  79350   -0.267  147";
boost::algorithm::trim (some_string);
//std::cout << some_string << std::endl;
boost::tokenizer<> tok( some_string );
const auto n = std::distance( tok.begin(), tok.end() );
std::cout << n << std::endl;

我希望 token 的数量为 4,但它给出了 6。任何建议,将不胜感激。谢谢。

最佳答案

不需要boost,也更正确。

假设你真的想解析数字更正确

Live On Coliru

#include <iostream>
#include <sstream>
#include <iterator>

int main() {
std::istringstream some_string ( "-0.003 79350 -0.267 147");
std::cout << std::distance(std::istream_iterator<double>(some_string), {});
}

更新

如果您想保留标记,而不仅仅是解析数字:

Live On Coliru

istringstream s("-0.003  79350   -0.267  147");

vector<string> vec(istream_iterator<string>(s), {});

cout << vec.size();

关于c++ - 使用 boost 生成适当数量的 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29388548/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com