我写了一个源代码,如:
int main(int argc, char *argv[]) {
QFile File (directory + "/File");
if(File.open(QIODevice::ReadOnly | QIODevice::Text))
{
QTextStream Stream (&File);
QString FileText;
do
{
FileText = Stream.readLine();
QString s = "start";
QString e = "end here";
int start = FileText.indexOf(s, 0, Qt::CaseInsensitive);
int end = FileText.indexOf(e, Qt::CaseInsensitive);
if(start != -1){ // we found it
QString y = FileText.mid(start + s.length(), (end - (start + s.length())));
qDebug() << y << (start + s.length()) << (end - (start + s.length()));
}
}
我的问题是 int end = FileText.indexOf(e, Qt::CaseInsensitive); QString e = "end here";
当单词“end”和“here”之间正好有三个空格时才发现with 。这是有问题的,因为在我阅读的文本中,这两个词之间的空格肯定会不时有所不同。此外,我需要同时写出“end”和“here”这两个词。我试图将问题简化为基础,并希望有人有想法/解决方案。