问题标签 [boost-tokenizer]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 错误的标记化
我有这个代码:
此代码产生以下结果:
显然,第二行是错误的。hello world
相反,我期待着。问题是什么?
c++ - Boost 的 tokenizer 在 windows & linux 下的不同结果
我发现 boost::tokenizer 有一些奇怪的东西。( boost version 1.53.0, 1.52.0 )
此代码在 Linux(Ubuntu 12.04.2 和 gcc 版本 4.6.3)下崩溃,在 Windows 7(VS 2010 Express)下运行良好。我要准备的字符串('line'变量)是:
linux下:
lexical_cast 崩溃了。
在 Windows 下:
工作正常。
这是正确的行为吗?
c++ - 如何在嵌套循环中匹配来自两个字符串向量的字符串值
我正在尝试在 CSV 文件中查找某些标头值的索引,以便我可以使用它们来提取文件其余部分中这些位置的数据。我将标头值添加到 amap<std::string, int>
中,以便保留索引。
我有工作代码,直到我注意到如果标题是行中的最后一个值,它不匹配。最后一个标题字符串在我的嵌套循环中是空的,但在外循环中不是。
tok(row)
相当于tok("column0,column1,column2")
我得到这个输出的地方;
而如果它是tok("column0,column1,column2,column3")
我得到的;
当我cout << cell
在外循环中时,值显示正确。
为什么我cell
在内部循环中失去了价值?
编辑
github和测试文件中的代码是用编译的;
并执行
我得到这个输出;
c++ - 字符串迭代器不兼容读取每一行
我有一个 std::ostringstream。我想迭代这个 std::ostringstream 的每一行。
我使用 boost::tokenizer :
在线上
我有一个“字符串迭代器不兼容”的断言错误。我已经在谷歌和 StackOverflow 上阅读过这个错误,但我很难找到我的错误。
任何人都可以帮助我吗?
非常感谢,
此致,
尼克修斯
c++ - 使用 BOOST Tokenizer 来显示分隔符并且不在引号中标记字符串
我正在使用 BOOST Tokenizer 将字符串分解为 toekn。基本上,这些令牌将用于为基于 c/c++ 的 VSL 创建编译器。我想问的是,定义的分隔符有可能是使用创建的
例如,如果我在字符串上使用 Boost 标记器,也会显示
它应该制作以下标记
另外,我如何确保它不会在引号中转换标记,例如
应转换为以下标记
c++ - boost::char_separator 的默认字符分隔符是什么(用于 boost::tokenizer)?
这个问题的答案似乎很容易通过查看 Boost 文档char_separator
或谷歌搜索来获得。
但是,我在任何地方都找不到这个问题的答案:(boost::char_separator
与 一起使用boost::tokenizer
)的默认分隔符是什么?
谢谢!
c++ - 如何通过分隔符标记字符串?
我需要通过分隔符标记字符串。
例如:
因为"One, Two Three,,, Four"
我需要得到{"One", "Two", "Three", "Four"}
.
我正在尝试使用此解决方案https://stackoverflow.com/a/55680/1034253
但我得到了错误:
boost-1_57\boost/tokenizer.hpp(62): 错误 C2228: '.begin' 的左边必须有类/结构/联合类型是 'const char *const'
c++ - 字符串迭代器不兼容 boost::tokenizer
我有一个包含 boost::tokenizer 的类的简单代码示例。
MyTokenizer.h
MyTokenizer.cpp
主文件
当我运行此示例时,它可以通过构造函数正常运行,在循环中打印预期的标记,但在调用 printTok() 时会出现此错误
似乎我无法在构造函数之外创建 MyTokenizer 的迭代器。
编辑
我将 printTok() 方法更改为更简单,同时仍然抛出相同的错误,现在看起来像这样。
c++ - 逗号分隔标记的向量到 const char**
我正在尝试将逗号分隔的字符串转换为 const char* 的向量。使用以下代码,预期的输出是
但我明白了
我哪里错了?
代码:
编辑:借助以下答案的解决方案:(PaulMcKenzie 使用列表提供了一个更简洁的解决方案。)
c++ - boost::split 可以在只有一个令牌的列表上使用吗?
我想遍历逗号分隔的字符串列表并对每个字符串进行处理。有没有办法设置 boost::split 以将“abc,xyz”和“abc”都识别为有效输入?换句话说,如果谓词不匹配任何内容,Split 是否可以返回整个输入字符串?
或者我应该改用 boost:tokenizer 吗?