我有 QByteArray 并且需要删除前 4 行。例如,我可以使用正则表达式来做到这一点,但这是更简单的方法吗?
UPD:我的 QByteArray 中的第一行(超过 4 行)是文本,最后是 '\n'。
我有 QByteArray 并且需要删除前 4 行。例如,我可以使用正则表达式来做到这一点,但这是更简单的方法吗?
UPD:我的 QByteArray 中的第一行(超过 4 行)是文本,最后是 '\n'。
搜索第四次出现的 '\n' 怎么样(使用 int QByteArray::indexOf (char ch, int from = 0) const)然后删除直到该位置的字节(使用 QByteArray & QByteArray::remove (int pos,国际化))?
编辑:未经测试,但类似以下内容:
QByteArray ba("first\nsecond\nthird\nfourth\nfifth");
size_t index = 0;
unsigned occur = 0;
while ((index = ba.indexOf('\n', index)) >= 0){
++occur;
if (occur == 4){
break;
}
}
if (occur == 4){
ba.remove(0, index + 1);
}