【发布时间】:2017-10-08 10:46:24
【问题描述】:
这是用 C++ 编写的。假设我有一个看起来像这样的字符串"[05]some words here [13]some more words here [17]and so on"
我想将此字符串拆分为Map<int, std::string>,其中数字作为键,直到下一个代码的文本作为值。括号将被完全忽略。
到目前为止,我一直在使用标准库和 SDL(我正在制作一个小游戏),但我愿意安装 boost 或任何其他有帮助的库。
我的第一个想法是要么使用一些 Boosts Regex 函数来进行某种正则表达式查找和替换,要么简单地将其转换为一个字符数组,遍历每个字符,查找括号并记录里面的数字,但这似乎好像它效率低下,特别是因为我确信在 C++ 中可能有一种流行的方法来做到这一点。
【问题讨论】:
-
一个遍历每个字符的 char 数组......这将是低效的。为什么效率低下?!
标签: c++ regex string dictionary