c++ - Qt 字符串解析

标签 c++ qt

<分区>

我在 Internet 和 stakoverflow 上看到了很多关于解析空格分隔的字符串变量的内容,但没有看到关于在 qt 上解析空格分隔的 QString 变量的内容,我真的很感激任何有关如何执行此操作的见解。

例如,如果我有一个“Bob 1, 2, 3”的 QString 并且想要设置 name="Bob"num1=1, num2=2, and num3=3。

最佳答案

QString str = "Bob 1, 2, 3";

QRegExp rx("[, ]");// match a comma or a space
QStringList list = str.split(rx, QString::SkipEmptyParts);

qDebug() << list;

QString name = list.at(0);
QList <int> nums;
for(int i = 1; i < list.size(); i++)
{
    nums.append(list.at(i).toInt());
}

qDebug() << "Name:" << qPrintable(name);
//    foreach(int num, nums)
//    {
//        qDebug() << "num:" << num;
//    }
for(int i = 0; i < nums.size(); i++)
{
    qDebug() << qPrintable("num" + QString::number(i+1) + ":") << nums.at(i);
}

输出

("Bob", "1", "2", "3") 
Name: Bob 
num1: 1 
num2: 2 
num3: 3 

关于c++ - Qt 字符串解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21368484/

相关文章:

QtQuick 2.0 与 QGraphicsView (QPainter)

c++ - 如何正确处理构造函数中的异常?

c++ - 为什么旧代码的目标文件可以使用使用通用编程范例的新代码,即使模板是静态绑定(bind)的?

c++ - 可以将 QImage 文件内容加载到 QString 吗?

c++ - Qt:Qt 应用程序中的键盘快捷键分配(使用 "&")是否不适用于 Mac OSX?

python - 如何阻止 QTreeWidget 移动滚动位置?

c++ - 如果在宏中使用,qmlRegisterType 模板将失败

c++ - 继承中的istream和ostream

c++ - 这段C++队列实现有什么问题?

c++ - boost 中默认的随机数生成器种子是什么?