在特定术语之后获得QString的一部分

时间:2014-08-03 15:24:16

标签: c++ qt

我有一个QString,看起来就像这样的

QString args = "perl /path#to#a#pe#lprogram -conf /path#to#a#conf#file -outdir /path#to#output#dir -outfile /path#to#output#file"

我想将#path#路由到#output #dir和/ path#分配给#output#file"在-outdir和-outfile之后到达新的QString变量。

我是QT的新手。

2 个答案:

答案 0 :(得分:0)

最简单的解决方案是将args拆分为字符串,并在字符串列表中搜索outdiroutfile

使用此功能http://qt-project.org/doc/qt-4.8/qstring.html#split

拆分它

此外,您应该考虑此课程http://qt-project.org/doc/qt-5/qcommandlineparser.html

答案 1 :(得分:0)

感谢您的所有评论(特别是Ashot)。这很容易。问题是我对QT功能不熟悉。这是代码:

QString args = "perl /path#to#a#pe#lprogram -conf /path#to#a#conf#file -outdir /path#to#output#dir -outfile /path#to#output#file"
QStringList query = args.split(" ");
for (int i=0; i < query.size(); i++)
{
if (query.at(i).contains("-outputdir"))
{
    odir = query.at(i+1).trimmed();
}
if (query.at(i).contains("-outputfile"))
{
    ofile = query.at(i+1).trimmed();
}
}
谢谢你!