问题标签 [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.

0 投票
1 回答
188 浏览

c++ - 在 C++ 中标记一个“支撑初始化列表”样式的字符串(使用 Boost?)

我有一个字符串(甚至是嵌套字符串),其格式类似于 C++ 大括号初始值设定项列表。我想一次将它们标记为一个字符串向量。

所以当我输入"{one, two, three}"函数时应该输出一个三元素向量

"one",

"two",

"three"

更复杂的是,它需要支持带引号的标记并保留嵌套列表:

输入字符串:"{one, {2, \"three four\"}}, \"five, six\", {\"seven, eight\"}}"

输出是一个四元素向量:

"one",

"{2, \"three four\"}",

"five, six",

"{\"seven, eight\"}"

我查看了其他一些 SO 帖子:

使用具有不同参数的 Boost Tokenizer escaped_list_separator

Boost split 不在括号或大括号内遍历

并使用它们来启动解决方案,但这对于标记器来说似乎有点过于复杂(因为大括号):

有了这个,即使在微不足道的情况下,它也不会剥离开闭大括号。

Boost 和 C++17 是解决方案的公平游戏。

0 投票
1 回答
41 浏览

c++ - 函数调用中的意外编译错误 (C++)

我有一个模板函数makeMatrix(),代码是:

fstreamExtension 是我创建的一个类,通过 header 包含在程序中 #include "fstreamExtension.h",其他包含的 header 是iostream stringboost/tokenizer.hpp.

代码tokenizeToInt()

为什么它会导致编译错误makeMatrix(),语法似乎正确,我没有调用它main(),正在编译一些其他代码,然后当我开始构建时弹出这个错误。

IDE:代码块 16.01,gcc。

0 投票
1 回答
82 浏览

c++ - 我应该如何使用 boost 将字符串标记为 char

我正在尝试使用 boost 将字符串标记为字符

目前的 boost tokenizer 将基于空间进行 tokenize

我希望输出是 j e f 但实际输出是 jef

0 投票
1 回答
289 浏览

c++ - 将标记转换为 char* const* 时,使用 boost 标记字符串失败

boost::tokenizer用来标记 C++ 中的字符串,然后我想将它传递给execv.

考虑以下代码片段(可编译):

当我运行它调用的这个脚本时test_tokenizer(),它会打印'execv failed'。(尽管它很好地打印了参数)。

但是,如果我test_tokenizer改为test_raw它运行良好。

这一定是一些简单的解决方案,但我没有找到。

PS.:我也把它放到一个带有 boost 支持的在线编译器

0 投票
0 回答
54 浏览

c++ - 如何定义 boost::escaped_list_separator使用令牌周围的报价?

我正在尝试从以预定义方式格式化的文本文件中解析数据,如下所示:

"GROUP","SCPT" "DATA","CPT1","1","0.000","0.004","","-0.2","-0.5","","",""

我正在使用 boost::tokenizer 进行解析,如下所示:

但是,这给了我标记“GROUP”和“SCPT”而不是 GROUP 和 SCPT(即它包括标记中的引号)。

我尝试使用自己的分隔符:

但这不起作用。

谁能帮我把上面的数据转换成

(其中 / 描绘了标记)而不是

提前感谢您提供的任何帮助。

安德鲁