QString之simplified()用于读取数据、规范数据,非常方便
2024-08-22 20:23:48
在工程项目开发中,遇到这么个问题:手工计入文件中的数据,每行有三个,前两个是数字,最后一个是标识,现在把这3个数据提取出来。
一提取就出现问题了:由于手工导入,数据间使用空白间隔,有可能是一个空格,有可能多个空格,怎么成功提取了?看Qt文档,终于找到这么个好用的函数。直接给干货吧!
- QString fileName = QFileDialog::getOpenFileName(this,
- tr("打开文件"),
- /*openPath*/".",
- tr("ini文件 (*.ini)"));
- if(!fileName.isEmpty())
- {
- QFile file(fileName);
- if(!file.open(QIODevice::ReadOnly))
- {
- qDebug()<<"open error!";
- return;
- }
- QTextStream txtInput(&file);
- while(!txtInput.atEnd())
- {
- QString lineStr;
- lineStr = txtInput.readLine();
- QStringList str_list = lineStr<span style="color:#ff0000;">.simplified()</span>.split(" ");
- bool ok;
- double a = str_list.at(0).toDouble(&ok);
- double b = str_list.at(1).toDouble(&ok);
- QString c = str_list.at(2);
- title.append(a);//title、number、myStr是QVector类型,由于后面要用,是在.h文件内声明的
- number.append(b);
- myStr.append(c);
- }
- QFileInfo infomation = QFileInfo(fileName);
- QString name = QString(tr("选取文件是:")) + infomation.fileName();
- ui->fileLabel->setText(name);
- emit sigDataInit();
- file.close();
- }
这里要讲讲simplified()功能,这个函数把一个字符串首尾的空格全部清除,不管首尾是几个空格哦。字符串中间的空格(包括单个空格、多个空格、\t、\n)都统一转化成一个空格,这样就方便提取了,我们再使用split()函数就能很好拆分了。
http://blog.csdn.net/u010111033/article/details/53892959
最新文章
- Spinner
- HDU1134/HDU1133 递推 大数 java
- SQL Server常用语句
- Django学习(二)
- sqlserver 中的NOLOCK、HOLDLOCK、UPDLOCK、TABLOCK、TABLOCKX
- unix
- lstm-思想2
- BZOJ2296: 【POJ Challenge】随机种子
- 【转】Objective-C中的instancetype和id关键字
- python中的generator, iterator, iterabel
- 解决CENTOS7虚拟机更改静态IP无法启动
- Java基础学习笔记1
- Repeater
- POJ 3458 Colour Sequence
- 给大家安利一个学习angular2的视频网站
- ceph简单用户管理
- 简单标签SimpleTag
- memcache bug
- #include<;stdio.h>; #include ";stdio.h";
- DevExpress ASP.NET Bootstrap Controls v18.2新功能详解(二)