• QString之simplified()用于读取数据、规范数据,非常方便


    在工程项目开发中,遇到这么个问题:手工计入文件中的数据,每行有三个,前两个是数字,最后一个是标识,现在把这3个数据提取出来。

    一提取就出现问题了:由于手工导入,数据间使用空白间隔,有可能是一个空格,有可能多个空格,怎么成功提取了?看Qt文档,终于找到这么个好用的函数。直接给干货吧!

    [cpp] view plain copy
     
     print?
    1. QString fileName = QFileDialog::getOpenFileName(this,  
    2.                                                 tr("打开文件"),  
    3.                                                 /*openPath*/".",  
    4.                                                 tr("ini文件 (*.ini)"));  
    5. if(!fileName.isEmpty())  
    6. {  
    7.     QFile file(fileName);  
    8.     if(!file.open(QIODevice::ReadOnly))  
    9.     {  
    10.         qDebug()<<"open error!";  
    11.         return;  
    12.     }  
    13.   
    14.     QTextStream txtInput(&file);  
    15.     while(!txtInput.atEnd())  
    16.     {  
    17.         QString lineStr;  
    18.         lineStr = txtInput.readLine();  
    19.         QStringList str_list = lineStr<span style="color:#ff0000;">.simplified()</span>.split(" ");  
    20.         bool ok;  
    21.         double a = str_list.at(0).toDouble(&ok);  
    22.         double b = str_list.at(1).toDouble(&ok);  
    23.         QString c = str_list.at(2);  
    24.         title.append(a);//title、number、myStr是QVector类型,由于后面要用,是在.h文件内声明的  
    25.         number.append(b);  
    26.         myStr.append(c);  
    27.     }  
    28.     QFileInfo infomation = QFileInfo(fileName);  
    29.     QString name = QString(tr("选取文件是:")) + infomation.fileName();  
    30.     ui->fileLabel->setText(name);  
    31.     emit sigDataInit();  
    32.     file.close();  
    33. }  

    这里要讲讲simplified()功能,这个函数把一个字符串首尾的空格全部清除,不管首尾是几个空格哦。字符串中间的空格(包括单个空格、多个空格、 、 )都统一转化成一个空格,这样就方便提取了,我们再使用split()函数就能很好拆分了。

    http://blog.csdn.net/u010111033/article/details/53892959

  • 相关阅读:
    [剑指Offer]59-队列的最大值(题目二待补)
    [Java学习]面向对象-package;内部类;UML图表示六种关系
    已安全化的ActiveX控件卸载时出现"DllUnregisterServer函数出错,错误代码:0x80070002"问题解决
    Win10 启动64位IE浏览器——修改注册表方法
    系统托盘弹出通知或气泡
    LPCTSTR 字符串获取其长度
    ActiveX控件获取不到对象属性或者方法的原因分析
    时钟周期 VS 机器周期
    VS2017 ATL创建ActiveX编程要点
    incremental linking(增量链接)的作用
  • 原文地址:https://www.cnblogs.com/findumars/p/6380412.html
Copyright © 2020-2023  润新知