我需要查找并替换文本文件中的某些文本。我搜索了一下,发现最简单的方法是从文件中读取所有数据到QStringList,找到并用文本替换确切的行,然后将所有数据写回到我的文件。这是最短的路吗?你能提供一些例子吗? UPD1我的解决方案是:QT:查找并替换文件中的文本
QString autorun;
QStringList listAuto;
QFile fileAutorun("./autorun.sh");
if(fileAutorun.open(QFile::ReadWrite |QFile::Text))
{
while(!fileAutorun.atEnd())
{
autorun += fileAutorun.readLine();
}
listAuto = autorun.split("\n");
int indexAPP = listAuto.indexOf(QRegExp("*APPLICATION*",Qt::CaseSensitive,QRegExp::Wildcard)); //searching for string with *APPLICATION* wildcard
listAuto[indexAPP] = *(app); //replacing string on QString* app
autorun = "";
autorun = listAuto.join("\n"); // from QStringList to QString
fileAutorun.seek(0);
QTextStream out(&fileAutorun);
out << autorun; //writing to the same file
fileAutorun.close();
}
else
{
qDebug() << "cannot read the file!";
}
你应该尝试一下,并发布代码,如果你失败... –