我有一个包含“(M001)”的QString
,我想要移除文本中的括号。结果应该是“M001”。我应该如何使用QRegExp
进行此操作?
如果您知道您的字符串始终带有括号,您可以这样做:
str = str.mid(1); // Remove first character
str.chop(1); // Remove last character
否则,您也可以使用以下方法而不是使用正则表达式:
if (str.startsWith('(') && str.endsWith(')')) {
str = str.mid(1); // Remove first character
str.chop(1); // Remove last character
}
但如果您坚持使用QRegExp
,可以尝试以下方法:
str.remove(QRegExp("^\\(|\\)$"));
str.replace(QRegExp("^\\((.*)\\)$"), "\\1");
编辑:如果您想从字符串中删除所有括号,可以尝试以下方法:
str.remove('(').remove(')');
或者
str.remove(QRegExp("[()]"));
我可以提供两种可能的方法:
1. 使用QString::remove()
,如下所示:
str.remove("(");
str.remove(")");
2. 使用QRegExp类进行如下操作:
str.remove(QRegExp("[()]"));