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

   在工程项目开发中,遇到这么个问题:手工计入文件中的数据,每行有三个,前两个是数字,最后一个是标识,现在把这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()函数就能很好拆分了。
阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lengyuezuixue/article/details/80697311
文章标签: QString simplified
个人分类: QT C++
想对作者说点什么? 我来说一句

oracle分页查询sql

2008年07月03日 15KB 下载

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭