我如何能有效地解析格式化的文本从一个文件在Qt



我想在Qt中获得有效的字符串工作方式,因为我是Qt环境中的新手。

所以我在做什么:

我正在加载一个文本文件,并获得每一行。每行都有以逗号分隔的文本。行模式:

 Fname{limit:list:option}, Lname{limit:list:option} ... etc.

的例子:

 John{0:0:0}, Lname{0:0:0} 

注:限制值可为1或0,与其他值相同。

所以我想得到Fname和得到限制,列表,选项值从{}。

我想写一个代码与查找{和什么是里面,通过读取符号一个符号。

解析它的有效方法是什么?

谢谢。

下面的代码片段将为您提供第一组括号中的Fname和limit,list,option。如果您对Lname集也感兴趣,可以很容易地更新它。

QFile file("input.txt");
if (!file.open(QIODevice::ReadOnly | QIODevice::Text))
    qDebug() << "Failed to open input file.";
QRegularExpression re("(?<name>\w+)\{(?<limit>[0-1]):(?<list>[0-1]):(?<option>[0-1])}");
while (!file.atEnd())
{
    QString line = file.readLine();
    QRegularExpressionMatch match = re.match(line);
    QString name = match.captured("name");
    int limit = match.captured("limit").toInt();
    int list = match.captured("list").toInt();
    int option = match.captured("option").toInt();
    // Do something with values ...
}

相关内容

  • 没有找到相关文章

最新更新