我有QByteArray,需要删除前4行。例如,我可以用正则表达式来做这件事,但是有没有更简单的方法呢?
更新:我的QByteArray中的第一行(超过4行)是文本,末尾是'\n‘。
发布于 2013-07-05 21:14:05
如何搜索'\n‘的第四次出现(使用::indexOf( char ch,int from =0) const),然后删除该位置之前的字节(使用QByteArray & QByteArray::remove ( int pos,int len ))?
编辑:未经过测试,但如下所示:
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);
}https://stackoverflow.com/questions/17489639
复制相似问题