当前位置:   article > 正文

Qt使用正则表达式过滤unicode字符_qstring删掉所有字母和特殊字符 正则

qstring删掉所有字母和特殊字符 正则

在使用Qt显示字符时,有时候我们显示文字时会带一些特殊的unicode字符,例如:

"\u200B[胜利][好奇]"  这里的\u200B其实是一个长度的unicode字符,在界面上是显示不了的,有时还会占用一个位置影响后面的字符显示,那么如何使用把这个字符过滤掉了,

QRegExp("[\u200B]")这样子是没有效果的,在Qt里应该这样写

QRegExp("[\\x200B]")

具体示例如下

  1. QString FilterSpecialCharacters(QString &message)
  2. {
  3. QString org1 = QStringLiteral("源字符=============== text= ");
  4. QString new1 = QStringLiteral("过滤后=============== temp= ");
  5. qDebug() << org1 << text << " length= " << text.length();
  6. QString temp = message;
  7. temp.remove(QRegExp("[\\x200B]"));//删除特殊字符
  8. qDebug() << new1 << temp << " length= " << temp.length();
  9. }

运行结果:

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/299745
推荐阅读
相关标签
  

闽ICP备14008679号