//basis String - String kann new lines beinhalten
//
QString qstr = " Tabelle1.Feld1= "Inhalt Feld1 Tab 1 ";
hier steht auch andere Text .. .
Tabelle1.Feld = "Inhalt Feld2 Tab2....";
Tabelle1.Feld = "Inhalt Feld3 Tab3...."; ";
// hole dir alles was nach Tabelle1.Feld in den " " steht
//
QRegExp rx ("Tabelle1.Feld\\s\\\=\\s\\\"(.*)\\\"");
int pos = rx.indexIn(qstr);
QStringList list = rx.capturedTexts();
// schreibe die ergebnisse in ein Datei:
//
QFile MyFile( "regexTest.txt" );
if (MyFile.open (QFile::WriteOnly | QFile::Text))
{
QTextStream stream( &MyFile );
for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
{
stream << *it << "\n";
}
MyFile.close();
}
Das ganze habe ich so mal probiert doch leider kommt dabei kein Ergebnis heraus.
QString qstr = " Tabelle1.Feld1= \"Inhalt Feld1 Tab 1\"";
// hole dir alles was nach Tabelle1.Feld in den " " steht
QString rest = qstr.replace(QRegExp("(Tabelle)\\d+\.(Feld)\\d+(=)\\","");
// oder
QString data( qstr.right( qstr.size() - qstr.indexOf("\"") ) );
// schreib rest raus ...
Wenn du das (.*) noch durch was sinnvolles zur gleichzeitigen Segmentierung ersetzt ist das natürlich anders, dann ist vielleicht http://doc.trolltech.com/4.6/qregexp.ht ... uring-text von Interesse .. dann sparst du dir lauter Leerzeilen in der Ausgabe die durch gematchte whitespace's entstehen