Split کردن یک رشته به یک لیست بوسیلهٔ چندین Delimiter در Qt

برای Split کردن یک رشته به یک لیست بوسیلهٔ چندین Delimiter، می‌توان از کلاس QRegExp کمک گرفت. RegExp مخفف Regular Expression (عبارت با قاعده) می‌باشد و می‌توان از این کلاس جهت جستجو، Replace کلمات، Split و… استفاده نمود. در کد زیر و فایل ضمیمه، می‌توانید چگونگی استفاده از آن را مشاهده کنید.

#include <QCoreApplication>
#include <QDebug>

// split a QString into list by using multiple delimiters (tokens)

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

    QString str = "Ali,Mohammad#Ehsan|Reza\nMahdi,Saeed\nHossein,Milad Hamed Vahid";
    QStringList list = str.split(QRegExp("[ \n,#|]"));

    for(int i = 0; i < list.size(); i++)
        qDebug().noquote() << list[i];

    return a.exec();
}

Output:

Ali
Mohammad
Ehsan
Reza
Mahdi
Saeed
Hossein
Milad
Hamed
Vahid

MD5 checksum:
c8d733ef3788fdc8ed15bafc012de73b *split_QString_into_list.zip