-1
我在互聯網上看到很多關於解析空格分隔的字符串變量的stakoverflow,但在解析Qt空間的QString變量時我什麼也沒有,我真的很感謝任何有關如何做到這一點的見解。Qt字符串解析
例如,如果我有一個「Bob 1,2,3」的QString,並且想要設置name =「Bob」num1 = 1,num2 = 2和num3 = 3。
我在互聯網上看到很多關於解析空格分隔的字符串變量的stakoverflow,但在解析Qt空間的QString變量時我什麼也沒有,我真的很感謝任何有關如何做到這一點的見解。Qt字符串解析
例如,如果我有一個「Bob 1,2,3」的QString,並且想要設置name =「Bob」num1 = 1,num2 = 2和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
看一看[QTextStream(http://qt-project.org/doc/qt-4.8/qtextstream.html),這就是可以發現作爲突出的命中谷歌搜索** [qt串流](https://www.google.de/search?q=qt+string+streams&ie=utf-8&oe=utf-8&rls=org.mozilla:en-US:official&client= firefox-a&gws_rd = cr&ei = i23lUp2tHMjNtQadm4DoCQ)**你一定要努力改進你的谷歌! –