Я пробовал следующие регулярные выражения, чтобы удалить {что-нибудь} между скобками (и, надеюсь, сами скобки)!
mystr.remove(QRegExp("\\{(.*?)\\}"));
mystr.remove(QRegExp("\{(.*?)\}"));
Ничего не удалено
.*?
является недействительным. Попробуйте следующий код:
#include <QString>
#include <QDebug>
#include <QRegExp>
int main()
{
QString mystr = "te{foo}st";
qDebug() << mystr.remove(QRegExp("\\{(.*)\\}"));
return 0;
}
Это может быть не та команда, которую вам нужно выполнить, поэтому попробуйте настроить концепцию для вашего конкретного сценария.
g++ -I/usr/include/qt/QtCore -I/usr/include/qt -fPIC -lQt5Core main.cpp && ./a.out
Выход: "test"
Других решений пока нет …