c++ - boost 分词器 : Extra Space?

标签 c++ boost boost-tokenizer

我正在使用 Boost Tokenizer 删除格式化坐标,例如 (x,y)。但是,它在删除后 添加了一个额外的空间。没有空格,但我不知道如何摆脱它。

while (std::getline(input, line)) {
    boost::char_separator<char> sep("(),");
    typedef boost::tokenizer<boost::char_separator<char> > tokenizer;
    tokenizer tok(line, sep);
    for (auto &i : tok) {
        _edges.push_back(i);
    }
}

在 vector 中,结果如下:

[x][y][space]

最佳答案

“我不知道如何摆脱它。”

从文件中获取一行文本后,但在开始解析标记之前,您可以使用 boost::trim() 从获取的行中删除任何前导和尾随空格:

std::getline(iss, line);
boost::trim(line);  // <== added

关于c++ - boost 分词器 : Extra Space?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34248021/

相关文章:

c++ - 性能 : boost. 计算对比opencl C++ 包装器

c++ - mutex lock fail with invalid argument 是什么意思?

c++ - 使用多个定界符拆分字符串,允许引用值

java - 如何写入和读取从java传递给jni的bytebuffer

c++ - boost mapped_file_sink 抛出异常

c++ - 检查元素是否存在于 Vector 中

c++ - 将 boost::tokenizer 与 boost::iterator_range 结合使用

c++ - 如何通过分隔符标记字符串?

c++ - 从派生类调用基方法

c++ - 从函数初始化对象地址