Russian Qt Forum

Qt => Общие вопросы => Тема начата: Larrikin от Ноябрь 21, 2005, 18:12



Название: QStringList filter
Отправлено: Larrikin от Ноябрь 21, 2005, 18:12
Не совсем разобрался в RegExp.
Как сделать так:
QStringList list;
list.filter();
И далее чтоб не было видно элементы list "." и ".."?
Или можно просто удалить эти элементы из list?


Название: QStringList filter
Отправлено: nEoN от Ноябрь 22, 2005, 09:37
Кстати в Qt 4.1.0 появилась полезная фича на тему каталогов :

Код:
- QDir
        Added the filter QDir::NoDotAndDotDot, for the
        special directories "." and "..".
        Added the filter QDir::AllEntries, for all entries
        in a directory, including symlinks.


Название: QStringList filter
Отправлено: Larrikin от Ноябрь 22, 2005, 11:26
Цитата: "nEoN"
Кстати в Qt 4.1.0 появилась полезная фича на тему каталогов :

Код:
- QDir
        Added the filter QDir::NoDotAndDotDot, for the
        special directories "." and "..".
        Added the filter QDir::AllEntries, for all entries
        in a directory, including symlinks.

Это все конечно прекрасно, но у меня 4.0.1


Название: QStringList filter
Отправлено: nEoN от Ноябрь 22, 2005, 13:28
Тогда вот самый простой и быстрый способ (если нужно удалить) :
Код:

QStringList list;
...
for(int i = list.count()-1; i >= 0; --i)
{
const QString& item = list[i];
if(item == "." || item == "..")
list.removeAt(i);
}



Название: QStringList filter
Отправлено: Larrikin от Ноябрь 22, 2005, 13:40
Цитата: "nEoN"
Тогда вот самый простой и быстрый способ (если нужно удалить) :
Код:

QStringList list;
...
for(int i = list.count()-1; i >= 0; --i)
{
const QString& item = list[i];
if(item == "." || item == "..")
list.removeAt(i);
}


Спасибо. То что нужно.