zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    怎样使用两行代码实现博客园打赏功能
    使用vue开发微信公众号下SPA站点的填坑之旅
    贝叶斯公式与最大后验估计(MAP)
    多元高斯分布(The Multivariate normal distribution)
    Jacobian矩阵、Hessian矩阵和Newton's method
    导数、方向导数与梯度
    解决只有单引号的Json格式转换成bean问题
    浅析Java中的final关键字
    观察者模式/ java实现附代码 /
    Java内存区域与内存溢出异常
  • 原文地址:https://www.cnblogs.com/findumars/p/6380412.html
Copyright © 2011-2022 走看看