如何去掉 QString 中的括号及其内容?

How to get rid of parentheses and theirs content in a QString?

我试图去掉 QString 中的括号和这些括号中包含的单词。你能帮帮我吗?

var1.at(0) = " MainWindow(QWidget *parent) : ";

QStringList var2 = var1.at(0).split(QRegExp("\("), QString::SkipEmptyParts);

对于这个例子,我试图获取函数名,它只是:MainWindow

我无法用 :

解决
QRegExp("(");
QRegExp("\(");
QRegExp("\(");
QRegExp("\((");

如果您的函数名称是字符串中的第一个标识符,您可以使用以下方法获取函数名称:

QString s("  MainWindow(QWidget *parent) : ");
QRegExp e("(\w+)");
if( e.indexIn(s) != -1 ) {
    qDebug() << e.cap(1); // MainWindow
}

如果你想得到直到'(',你可以使用:

QString s("  MainWindow(QWidget *parent) : ");
QRegExp e("([^(]+)");
if( e.indexIn(s) != -1 ) {
    qDebug() << e.cap(1).trim();
}