VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 610|回复: 6

[求助] 字符串过滤?

[复制链接]
47_avatar_middle
在线会员 发表于 2018-1-31 11:04:35 | 显示全部楼层 |阅读模式
3驿站币
     filter = "10kv_)(*&^%$#@!_+= 微软中国"; 这样的字符串,正则表达式 能拿到 微软中国 这 4 个字吗    不想一个一个排除,不知道正则行不行,因为后面还要过滤 A-Z 字母,想用正则过滤掉 A-Z 字母,
不知道怎么写,大佬们给个意见





上一篇:想着制作一个程序安装包
下一篇:socket实现外网通讯
01_avatar_middle
online_admins 发表于 2018-1-31 11:07:57 | 显示全部楼层
匹配中文的话比较简单:
字符串过滤?
47_avatar_middle
ico_lz  楼主| 发表于 2018-1-31 15:06:21 | 显示全部楼层
全局搜索能匹配全部,如果不勾选 全局搜索,只能匹配 微 ,代码中怎么才能达到 全局搜索功能
47_avatar_middle
ico_lz  楼主| 发表于 2018-1-31 16:38:02 | 显示全部楼层
明白了,自己解答记录,方便下次看

在 QT 中的QString 类型有 indexOf 方法,两个参数,第一个是匹配规则,第二个是位置,  

QString str = "10kv_)(*&^%$#@!_+= 微软A中国jfwoiefo";
int pos = str.indexOf(rx , p);  

然后  QString str = rx.cap(0); 可以取出匹配的字符
后面要更换 p 的位置,继续匹配
25_avatar_middle
在线会员 发表于 2018-2-5 11:47:34 | 显示全部楼层
如果是解析ANSI字符串是否包含汉字,很简单
字符串中的字符 & 0x80,值为true则为汉字字符串中的组成部分,否则不是。
把所有和 0x80位与操作得到的全部字符连起来,就是你要找的汉字部分。
47_avatar_middle
ico_lz  楼主| 发表于 2018-2-6 09:13:22 | 显示全部楼层
还有这种操作,楼上的举个例子呢
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-7-17 15:20

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表