赞
踩
在使用Qt显示字符时,有时候我们显示文字时会带一些特殊的unicode字符,例如:
"\u200B[胜利][好奇]" 这里的\u200B其实是一个长度的unicode字符,在界面上是显示不了的,有时还会占用一个位置影响后面的字符显示,那么如何使用把这个字符过滤掉了,
QRegExp("[\u200B]")这样子是没有效果的,在Qt里应该这样写
QRegExp("[\\x200B]")
具体示例如下
- QString FilterSpecialCharacters(QString &message)
- {
- QString org1 = QStringLiteral("源字符=============== text= ");
- QString new1 = QStringLiteral("过滤后=============== temp= ");
- qDebug() << org1 << text << " length= " << text.length();
- QString temp = message;
- temp.remove(QRegExp("[\\x200B]"));//删除特殊字符
- qDebug() << new1 << temp << " length= " << temp.length();
- }
运行结果:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。