c++ - 用数字提升 char_separator
问题描述
我们可以使用 boost/tokenizer 或 boost::char_separator 来分隔数字吗?
假设我们有一行:
1 *1:0 *2:0 0.01
我们可以用定界符打破上述行,多个定界符用
boost::char_separator<char> space_star_sep{" ", ":"};
这会给我令牌:
1
*1
:
0
*2
:
0
0.01
如果我使用单个分隔符作为
boost::char_separator<char> space_star_sep{" "};
我会得到:
1
*1:0
*2:0
0.01
有没有办法直接用数字和分隔符分解字符串,而不是获取令牌和解析。说,如果我想要令牌:
1
*1
*2
0.01
我尝试在 char_seperator 中给出通用的东西,例如 \d 等,但它们是 char 分隔符的未知序列。
解决方案
如果您的问题是,您可以通过将分隔符字符串传递给或类似的函数(比如说)来标记":0"
字符串char_seperator
吗strtok
?
不。
按照他们的意图,这些函数只能通过使用单个字符作为分隔符或标记器来工作。
推荐阅读
- android-studio - android studios/gradle 同步启动时多个重复的 Openjdk 二进制文件失败,96% RAM
- django - django-allauth Google 登录无法在 iOS 上运行
- python - 如何更改标签的文本 - Tkinter
- python-3.x - 如何在 Python3 中将日志记录与多处理一起使用
- windows - 损坏的包管理器?找不到模块提供程序 (PowerShellGet)
- azure - 获取 Azure Log Analytics 免费层
- html - 使Div中的图像不调整大小
- r - 在 UI 出现后延迟加载 Shiny 中的库,但在实际需要之前
- python - 如何查找文件中有多少个相同的单词?
- c++ - 在 C++ 中格式化文本文件