c++ - 获取 QStringList 的最后一个元素

标签 c++ qt

我有一个像这样的 QString 列表

daily-logs.06-01-2015.01 
daily-logs.06-01-2015.02 
daily-logs.06-01-2015.03

现在我想得到新的 QStringList 像这样得到字符串的最后一个数字

01 02 03:

QStringList list = folder_file.entryList(nameFilter);

for(int i=0;i<list.count();i++){
    qDebug()<<list.at(i).toLocal8Bit().constData();


    QStringList list2=list.at(i).split(".");
    for(int j=0;j<list2.count();j++){
        //qDebug()<<list2.at(j).toLocal8Bit().constData();
        QString list3=list2.value(list2.length()-1);

        qDebug()<<list3;
        //qDebug()<<list3;
    }

我只能得到最后一个值。但我认为这更多的是for循环。那么有没有人有办法获得这种更高的性能。

最佳答案

使用特殊文件QFileInfo::suffix函数:

const auto& list = folder_file.entryList(nameFilter);
QStringList output;   
for(const auto& f : list)   
    output << QFileInfo(f).suffix();

关于c++ - 获取 QStringList 的最后一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27797701/

相关文章:

c++ - 将 QGraphicsItems 附加到 QGraphicsItemGroup 会导致崩溃

php - 将 XML 从 php 返回到 C++ 应用程序

c++ - 提高高速文件复制的写入速度?

c++ - 编译器给出 lambda 函数转换错误

python - Qt C++ - 如何成功地将数据传递给子进程?

c++ - QJsonValue 是私有(private)的?

c++ - 使用valgrind获取clock_gettime的汇编代码?

android - 在 Windows 8 上的 cocos 2dx 游戏开发环境设置中出现错误

c++ - 如何向另一个线程发出带有数组参数的信号

c++ - 在 C++Builder 上替代 VCL