我有一个QString,我想删除[1],[123],[4556]
QString myStr= "aaa bbb ccc .[1]";
myStr = myStr.remove(QRegExp("\[\[0-9]\]");
但它不起作用,任何想法???
答案 0 :(得分:0)
您的QRegExp不起作用。首先QT要求你根据你想要的内容来双重逃避一些角色。其次,你不能逃避范围括号。您需要双重escap用于您想要匹配的支架,并且范围括号无法逃脱:
QRegExp("\\[[0-9]\\]");
答案 1 :(得分:0)
这就是你需要的:
a.remove(QRegExp("\\[[0-9]+\\]"));
首先,你需要围绕外方括号的双转义序列,以指定那些实际显示在你的字符串中,然后你需要指定你想要匹配的范围[0-9]
和事实此范围可能会显示一次或多次+
。