【发布时间】:2017-07-25 03:11:24
【问题描述】:
我有一个 QString:“{x, c | 0x01}”,我想将其拆分为 7 个标记,如下所示:
{
x
,
c
|
0x01
}
在 Qt 中最好的方法是什么?
我尝试使用QString::split(QRegExp("[\\{\\},|]")),但它不在结果中保留分隔符。
【问题讨论】:
-
我没有发现分离的逻辑,分离的特点是什么?
-
我认为您最好的选择是遍历字符串并根据您的特定要求定义条件
-
@eyllanesc 我想用 deliminator char 分割它:'{', '}', ',', '|'
-
如果您想要一个一般性的解释,我建议您熟悉分词器或词法扫描器。如果您需要更完整的框架,还有 DSL 语言解析器(领域特定语言),遗憾的是 Qt 没有开箱即用的支持,但您可以查看 c++ boost 库。