判断文件中是否存在中文字符

  参考文章:http://blog.csdn.net/wangduanqing5945/article/details/8570797
                http://blog.csdn.net/small_qch/article/details/6914819
                http://blog.csdn.net/shaochat/article/details/40857957

  自己编写的QT实现代码:

 1  //匹配中文字符
 2     QString reg_PATTERN_STRING =QObject::tr("[\u4e00-\u9fa5]"); 
 3     ////QRegExp::cap的参数 
 4     int NTH = 0; 
 5     //正则表达式
 6     QRegExp regExp;  
 7     //pos代表位置
 8     //regcount代表匹配成功的次数
 9     int pos, regcount;  
10     pos = regcount = 0;  
11     regExp.setPattern(reg_PATTERN_STRING);  
12      //将匹配设置为最小(短)匹配  
13     regExp.setMinimal(true); 
14 
15     QString txtStr=QObject::tr("qabcdefghmnb我是中国人");
16      //开始匹配  
17     while ((pos = regExp.indexIn(txtStr, pos)) != -1)  
18     {  
19         QString str = regExp.cap(NTH);  
20         qDebug()<<str;
21         pos += regExp.matchedLength();  
22         regcount++;  
23     }  
24     //输出匹配成功的次数
25     qDebug()<<regcount;
26     //匹配的开始位置
27     int regStart = txtStr.indexOf(QRegExp(reg_PATTERN_STRING));
28     qDebug()<<regStart;

 

现软件:

 下载地址:https://files.cnblogs.com/files/dragonsuc/qtcheckcode.rar

posted @ 2015-03-23 16:21  长风破浪  阅读(1934)  评论(0编辑  收藏  举报