Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.05;
Скачать: CL | DM;

Вниз

Посоветуйте, пожалуйста, как лучше отсортировать текстовый файл.   Найти похожие ветки 

 
FLAW ©   (2002-11-24 00:15) [0]

У меня есть большой ТХТ-файл (рус.) в каждой строке которого записано одно слово. Посоветуйте, пожалуйста, как лучше:
1) Удалить повторяющиеся слова.
2) Удалить пустые строки.
3) Расположить слова по алфавиту, причем при добавлении нового должна осуществляться проверка на повтор и новое слово так же должно расположиться в файле по алфавиту.
Прошу подробней, я же "чайник".
Заранее благодарю.


 
Оливейра ©   (2002-11-24 01:57) [1]

Если эту задачу надо выполнять кажный день или чаще:
1) Качаешь Perl с ActiveState
2)
# sort.pl
use POSIX;
use locale;

setlocale("чего-то-там-Ru_ru"); #см. perldoc -f setlocale
open(IN, "a.txt");
while(<IN>) {
chomp;
next if $_ eq ""; #next if !$_;
$hash{$_}++;
}
open(OUT, ">out.txt");
print OUT sort keys %hash;

На ++-се кода немногим больше. std::hash_map.

Delphi без сторонних реализаций хэша тебе не помощник.


 
Оливейра ©   (2002-11-24 02:03) [2]

Не, вру, можешь еще в базу данных вставить, затем отселектив ( и такой бред тут проскакивал... ). Если тебя скорость не волнует. Можно MSSQL напрячь :)) Он умеет шустро текстовые файлы в таблицы перегонять.

Или OLE DB драйвер для текстовых файлов поюзать :)


 
oomneeq ©   (2002-11-24 04:01) [3]


with TStringList.Create do begin
Sorted:=true;
Duplicates := dupIgnore;
Loadfromfile("D:\slova.txt");
Savetofile("D:\slova.txt");
Free;
end; // with

одна пустая строчка все же останется :-)


 
oomneeq ©   (2002-11-24 04:04) [4]

with TStringList.Create do begin
Sorted:=true;
Duplicates := dupIgnore;
Loadfromfile("D:\slova.txt");
Delete(Indexof(""));// теперь не останется!
Savetofile("D:\slova.txt");
Free;
end; // with



Страницы: 1 вся ветка

Текущий архив: 2002.12.05;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.013 c
1-14666
lionkiller
2002-11-25 13:58
2002.12.05
Новая компонента


1-14563
Salvator
2002-11-26 19:08
2002.12.05
Работа с Word через Delphi


4-14889
Демонов Е.В.
2002-10-23 15:05
2002.12.05
Вопрос про сообщения


14-14796
paul_shmakov
2002-11-14 20:01
2002.12.05
предложение по улучшению поддержки форумом оперы, мозиллы и др.


3-14362
GEG (Alex)
2002-11-19 09:30
2002.12.05
Ошибка в DBGrid or IB ?