ich habe ein problem mit replace unter Qt 4.7.3.
Ich habe einen string, in dem die schlüsselwörter @@COPYRIGHT_YEAR und @@COPYRIGHT vorkommen, in genau dieser reihenfolge.
Das problem ist jetzt, das replace nicht case sensitive arbeitet, auch nicht wenn ich es extra mit angeben!
Verwende ich replace nicht richtig?
Als testbeispiel:
Code: Alles auswählen
#define print(x) qDebug(qPrintable(x))
#include <QtCore/QCoreApplication>
#include <QDate>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QString str = "** Copyright (c) @@COPYRIGHT_YEAR by @@COPYRIGHT.";
print(QString::number(str.indexOf("@@COPYRIGHT", Qt::CaseSensitive)));
print(QString::number(str.indexOf("@@COPYRIGHT_YEAR", Qt::CaseSensitive)));
if(str.contains("@@COPYRIGHT"))
str.replace("@@COPYRIGHT","Max Mustermann", Qt::CaseSensitive);
if(str.contains("@@COPYRIGHT_YEAR"))
str.replace("@@COPYRIGHT_YEAR",QDate::currentDate().toString("yyyy"), Qt::CaseSensitive);
print(str);
return a.exec();
}