Qt相当于一个boost tokenizer表达式/构造

时间:2017-01-12 13:43:40

标签: c++ qt boost

我在Ubuntu 14.04上使用Qt 4.8 我目前正在尝试移植Windows应用程序...作者在应用程序代码中密集使用 boost 我已经用Qt等效结构替换了许多 boost -calls(我对 boost 没有经验)。
现在我偶然发现了这个:

string command;
...
boost::char_separator<char> sep(",\t\r ");
boost::tokenizer<boost::char_separator<char>> tokens(command, sep);   

是否有相应的Qt? 我试过了:

QStringList tokens = QString(command.data()).split(QRegExp("\\s+"));    

但它似乎不太好...... 1)首先:它不像原始应用程序 2)第二:我总是得到一个空的令牌。很奇怪,我不知道为什么 ......!?!

为了解决这些问题,请您给我一些帮助或分享一些想法吗? 提前感谢您的时间和耐心。

1 个答案:

答案 0 :(得分:1)

正如对问题的评论中所述,解决方案是使用:

split(QRegExp("[,\t\r ]"), QString::SkipEmptyParts)