如何删除QString中每个特殊字符^和$的出现?
我试过了:
QString str = "^TEST$^TEST$";
str = str.remove(QRegularExpression("[^$]."));
答案 0 :(得分:3)
你错过了^
。为了避免这种情况,需要\
,但由于C字符串,还需要进行转义。您还希望一个或多个出现与+
匹配。
此正则表达式应该有效:[\\^$]+
,see online。
所以必须是:
QString str = "^TEST$^TEST$";
str = str.remove(QRegularExpression("[\\^$]+"));
comments below Joe P中提到的另一种可能性是:
QString str = "^TEST$^TEST$";
str = str.remove(QRegularExpression("[$^]+"));
因为^
在开头只有一个特殊的含义,你必须逃避它才能真正地理解它,see online。