我有一个QString的,我想删除[1],[123],[4556]的QString删除 “[1]” 使用QRegExp
QString myStr= "aaa bbb ccc .[1]";
myStr = myStr.remove(QRegExp("\[\[0-9]\]");
但其没有工作,任何想法串???
我有一个QString的,我想删除[1],[123],[4556]的QString删除 “[1]” 使用QRegExp
QString myStr= "aaa bbb ccc .[1]";
myStr = myStr.remove(QRegExp("\[\[0-9]\]");
但其没有工作,任何想法串???
您的QRegExp不起作用。首先QT要求你根据你想要存档的内容,使一些字符变成两倍。其次,你不能逃避你的范围括号。你需要知道你想匹配的支架双亚太经社会和无处可逃的范围支架:
QRegExp("\\[[0-9]\\]");
这是你所需要的:
a.remove(QRegExp("\\[[0-9]+\\]"));
首先,你需要周围的双转义序列外方括号以便指定那些实际上会显示在您的字符串中,然后您需要指定您想匹配的范围[0-9]
以及此范围可能会显示一次或多次的事实+
。
这不是需要双重转义的Qt,而是C++。如果你想在普通的字符串中使用反斜杠,你需要将其转义。 – Mat
@Mat:true。 QT有时需要这个,即使C++不会。不过在这种情况下。 –