我有一個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++不會。不過在這種情況下。 –