获取 QStringList 的最后一个元素
Get last element of QStringList
我有一个这样的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;
}
我只能得到最后一个值。但我认为这更多的是循环。那么有没有人有办法获得更多的性能。
使用特殊的文件QFileInfo::suffix
函数:
const auto& list = folder_file.entryList(nameFilter);
QStringList output;
for(const auto& f : list)
output << QFileInfo(f).suffix();
你的代码太脏了...
QStringList DoSomeDirtyWork( const QStringList& input )
{
QStringList output;
for ( auto it = input.constBegin(); it != input.constEnd(); ++it )
{
const QString& src = *it;
const int pos = src.lastIndexOf('.');
output << src.mid( pos );
}
return output;
}
QStringList list = folder_file.entryList(nameFilter);
for (int i = 0; i < list.count(); ++i) {
QStringList wordList = list[i].split('.');
qDebug() << wordList.takeLast();
}
也许它没有那么可爱和简短,但它是一个没有QFileInfo的例子。
相关文章:
- lower_bound()返回最后一个元素
- 使用运算符 [] 引用 std::vector 上最后一个元素时出现问题<>
- Lower_bound不适用于具有 3 个元素的向量的最后一个元素
- 查找数组中第一个最小值和最后一个最大值元素之间的算术平均值
- 仅显示链表的最后一个元素
- push_back通过自行创建的对象获取最后一个元素的向量
- 使用 map.end() 访问 map 的最后一个元素
- 如何知道地图中的最后一个元素是否被删除?
- std::矢量保存 只推送最后一个元素
- 反转后不返回最后一个元素
- 如何在新数组较小时创建新数组并将旧数组的最后一个元素复制到新数组中?
- 在 QListView 中显示最后一个元素
- C++:在进行切片时对迭代器的约定,特别是对于访问最后一个元素并最终将其删除
- 遍历列表包含排除最后一个元素的内容
- 如何打印第一个和最后一个元素的和,然后打印第二个和倒数第二个元素的总和,依此类推
- C++链表最后一个元素的迭代器?
- 这种获取模板参数包中最后一个元素的方法是否有隐藏的开销?
- 使用 STL 交换堆栈 C++ 中的第一个和最后一个元素
- 查找数组的第一个和最后一个索引,其中 from 和 to 元素的顺序总和最大
- 数组:如何在指定索引之前显示数组的第一个和最后一个元素以及数组元素的差异?