我试图摆脱括号和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();
}
关于c++ - 如何在QString中摆脱括号及其内容?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37116682/