Qt工作笔记-使用QRegExp实现QString的split【读取文件时候,过滤各种字符】

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq78442761/article/details/86236059

如下面的这种文件:

使用如下的代码可以以空格和英文的逗号作为拆分!

如下代码:

#include <QApplication>
#include <QDebug>
#include <QFile>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QFile file("E:\\Qt2018\\RegExpDemo\\test.txt");

    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){

        qDebug() << "Can't open file!";
        return -1;
    }

    while(!file.atEnd()){

        QStringList list = QString::fromLocal8Bit(file.readLine()).split(QRegExp(",|\\s+"), QString::SkipEmptyParts);
        qDebug() << list;
    }

    file.close();

    return a.exec();
}

程序运行截图如下:

如果要去掉中文的逗号,和中文的这个符号、

则修改正则表达式!

源码如下:

#include <QApplication>
#include <QDebug>
#include <QFile>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    QFile file("E:\\Qt2018\\RegExpDemo\\test.txt");

    if(!file.open(QIODevice::ReadOnly | QIODevice::Text)){

        qDebug() << "Can't open file!";
        return -1;
    }

    while(!file.atEnd()){

        QStringList list = QString::fromLocal8Bit(file.readLine()).split(QRegExp(",|,|、|\\s+"), QString::SkipEmptyParts);
        qDebug() << list;
    }

    file.close();

    return a.exec();
}

运行截图如下:

猜你喜欢

转载自blog.csdn.net/qq78442761/article/details/86236059