2015-10-20 30 views
0

我有一個QStringList具有許多元件,例如:拆分QStringList中元件到多個元件

sl.at(i) = name:VAR1 size: 8 Decription:fdgag; 

如何可以拆分此線爲更多行?我想通過for-loop逐行分成多行。

我是這麼有:

for(int i = 0; i != sl.size(); ++i) 
{ 
    QString str = sl.at(i); 
} 

但是當時我不知道我怎麼可以拆分這...

回答

0

QString::split()功能請看:

for(int i = 0; i != sl.size(); ++i) { 
    QString str = sl.at(i); 
    // Split on , 
    QStringList splitStr = str.split(", "); 
} 
+0

對不起,我沒有逗號,我有一個空格字符那裏 – mc307

+0

如果我這樣做: QString str = slOut.at(i); strsplit = str.split(「\\ t +」); 它不工作 – mc307

+0

它是你的字符串之間的單個標籤字符? 如果是的話,那麼你需要(「\ t」),通過使用雙斜槓來轉義斜槓,這意味着一個斜槓字符後跟一個t和一個加號。然而,如果你想使用一個正則表達式,你需要將它清除到函數:str.split(QRegularExpression(「\\ t +」)); –

1

如果你想通過空格字符來分割一個字符串,只需使用前面提到的空間功能

QStringList split = str.split(" ");