我试图在QString中删除括号和这些括号中包含的单词。你能帮我吗?
var1.at(0) = " MainWindow(QWidget *parent) : ";
QStringList var2 = var1.at(0).split(QRegExp("\("), QString::SkipEmptyParts);
对于此示例,我试图获取仅为MainWindow
我无法通过以下方式解决问题:
QRegExp("(");
QRegExp("\(");
QRegExp("\\(");
QRegExp("\((");
答案 0 :(得分:1)
要获取函数名称,如果函数名称是字符串中的第一个标识符,则可以使用以下内容:
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();
}