<分区>
我在 Internet 和 stakoverflow 上看到了很多关于解析空格分隔的字符串变量的内容,但没有看到关于在 qt 上解析空格分隔的 QString 变量的内容,我真的很感激任何有关如何执行此操作的见解。
例如,如果我有一个“Bob 1, 2, 3”的 QString 并且想要设置 name="Bob"num1=1, num2=2, and num3=3。
<分区>
我在 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/