C ++ Qt — QString удалить () регулярное выражение между {скобками}

Я пробовал следующие регулярные выражения, чтобы удалить {что-нибудь} между скобками (и, надеюсь, сами скобки)!

    mystr.remove(QRegExp("\\{(.*?)\\}"));
mystr.remove(QRegExp("\{(.*?)\}"));

Ничего не удалено

2

Решение

.*? является недействительным. Попробуйте следующий код:

main.cpp

#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"

7

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]