问题标签 [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++ - 在 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 和 C++17 是解决方案的公平游戏。
c++ - 函数调用中的意外编译错误 (C++)
我有一个模板函数makeMatrix()
,代码是:
fstreamExtension 是我创建的一个类,通过 header 包含在程序中
#include "fstreamExtension.h"
,其他包含的 header 是iostream
string
和boost/tokenizer.hpp
.
代码tokenizeToInt()
:
为什么它会导致编译错误makeMatrix()
,语法似乎正确,我没有调用它main()
,正在编译一些其他代码,然后当我开始构建时弹出这个错误。
IDE:代码块 16.01,gcc。
c++ - 我应该如何使用 boost 将字符串标记为 char
我正在尝试使用 boost 将字符串标记为字符
目前的 boost tokenizer 将基于空间进行 tokenize
我希望输出是 j e f 但实际输出是 jef
c++ - 将标记转换为 char* const* 时,使用 boost 标记字符串失败
我boost::tokenizer
用来标记 C++ 中的字符串,然后我想将它传递给execv
.
考虑以下代码片段(可编译):
当我运行它调用的这个脚本时test_tokenizer()
,它会打印'execv failed'。(尽管它很好地打印了参数)。
但是,如果我test_tokenizer
改为test_raw
它运行良好。
这一定是一些简单的解决方案,但我没有找到。
PS.:我也把它放到一个带有 boost 支持的在线编译器中。
c++ - 如何定义 boost::escaped_list_separator使用令牌周围的报价?
我正在尝试从以预定义方式格式化的文本文件中解析数据,如下所示:
"GROUP","SCPT" "DATA","CPT1","1","0.000","0.004","","-0.2","-0.5","","",""
我正在使用 boost::tokenizer 进行解析,如下所示:
但是,这给了我标记“GROUP”和“SCPT”而不是 GROUP 和 SCPT(即它包括标记中的引号)。
我尝试使用自己的分隔符:
但这不起作用。
谁能帮我把上面的数据转换成
(其中 / 描绘了标记)而不是
提前感谢您提供的任何帮助。
安德鲁