关于QRegExp如何筛选出特殊字符的解决方法

       已经是腊月二十四了,不出什么意外的话这是农历2017年的最后一篇博客。今年一点过年的氛围都没有,年味真的淡了呢。

       这几天写程序遇到一个小问题,在tableView中筛选字符的时候出现错误,鬼知道我是怎么发现这个问题的。功能就是类似于在同花顺的股票列表中筛选出带“中”字样的股票,然鹅,我发现筛选“*ST”的时候就不好使了。筛选使用的方法是QRegExp的setFilterRegExp方法,代码很简单:

QRegExp regExp(text, Qt::CaseInsensitive, QRegExp::RegExp);//text就是要筛选的字符串
QSortFilterProxyModel->setFilterRegExp(resExp);

      所以想到问题可能是出在正则表达式中也包含“*”字符导致的筛选失败。找了半天找到一个合适的解决方法,就是在特殊字符前加上//或@就可以了,试了一下“@”可以,“//”不行

text = text.replace("*", "@*");
QRegExp regExp(text, Qt::CaseInsensitive, QRegExp::RegExp);//text就是要筛选的字符串
QSortFilterProxyModel->setFilterRegExp(resExp);
      希望能帮助到你,祝大家狗年旺旺喽!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值