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

Вниз

Автоматическая замена слов в тексте - по своему словарю.   Найти похожие ветки 

 
ROM'zone   (2002-06-03 18:33) [0]

Привет всем.

Есть такая задача, написать программу которая будет заменять в выбранном тексте отдельные слова на другие, слова будут браться из внешнего списка который можно дополнять.

Например изначально предложение звучит так: Сотрудникам отделов.

В нашем списке указано:
Сотрудникам -> Представителям
Отделов -> Департаментов

В результате имеем : представителям департаментов.


Как это написать ? Я совсем не программист а программа такая нужна, насколько я понимаю это не сложно. Я умею создавать формы и минимально работаю с Delphi. Если не трудно приведите пример такой программы .

Заранее благодарен.


 
Song ©   (2002-06-03 18:37) [1]

Нужно иметь два массива слов один с теми что заменять, второй с теми на что заменять. Лучше сделать в списке. Когда находим слово в образце текста, вырезаем его (Delete) и вставляем новое (Insert)


 
VictorT ©   (2002-06-03 18:38) [2]

А чем тебя не устраивает любой текстовый редактор с автозаменами?


 
ROM'zone   (2002-06-03 18:48) [3]

Не устраивает потому что требуется заменять одновременно много слов в разных текстах, так у меня будет словарик который я смогу пополнять, а так придется это делать ручками... а работы много :о)

To Song - я не совсем программер тоесть совсем не программер и с массивами работать не умею :( единственное что я знаю это интерфейс DELPHI умею создавать формы, и производить разные несложные действия, если не трудно приведите пример как это писать, мне больше спросить не у кого, а разбираться с Delphi ради написания одной программы несерьезно, тем более мне даже трудно представить как это делается :(...

HELP PLEASE !!!!


 
yozhik   (2002-06-03 18:52) [4]

используй RXLib там есть ф-ция ReplaceStr(const S, Srch, Replace: string): string - очень классно работает.
Если текст боьшой можно пробежаться по строкам и заменять ...


 
ROM'zone   (2002-06-03 19:01) [5]

yozhik это если менять одно слово на другое ... а как сделать чтобы автоматом брал из списка , искал и заменял...

Я понимаю что по сути дела спрашиваю как написать программу, а не отдельное решение, но сам не могу...


 
ROM'zone   (2002-06-03 19:50) [6]

Никто не поможет ?


 
KilkennyCat ©   (2002-06-04 01:45) [7]

Берешь МС Ворд и быстренько генеририуешь в нем макрос.


 
Voldemar ©   (2002-06-04 03:36) [8]

ROM"zone (03.06.02 19:01)
Что значит - автоматом?
Если я правильно понял:
Два списка N элементов, в первом списке заменяемые, во втором заменяющие слова. Тогда (yozhik (03.06.02 18:52))

var I: word;
Srch, ReplaceStr: TStringList;
S1, S2: string;
begin
Srch:=TSTringList.Create;
ReplStr:=TStringList.Create;
Srch.LoadFromFile("Filename1.txt"); // список того, что меняем
ReplStr.LoadFromFile("Filename2.txt"); // список того, на что меняем
s1:=Memo1.Text; // берем обрабатываемый текст
for I:=0 to N do
begin
S2:=ReplaceStr(S1, Srch, ReplStr: string);
S1:=S2;
end;


вот примерно так...


 
Voldemar ©   (2002-06-04 03:41) [9]

Sorry!
Забыл одну немаловажную вещь!
строка
S2:=S2:=ReplaceStr(S1, Srch, ReplStr: string);
должна выглядеть, кончно же, так:
S2:=ReplaceStr(S1, Srch.Strings[N], ReplStr.Strings[N]);

а перед циклом прописать
N:=Srch.Count-1;

КОЛИЧЕСТВО СТРОК В ОБОИХ ФАЙЛАХ ДОЛЖНО БЫТЬ ОДИНАКОВЫМ!


 
ROM'zone   (2002-06-04 17:18) [10]

Спасибо , попробую разобраться что к чему %)))


 
ROM'zone   (2002-06-04 17:24) [11]

Хотя тут немного не так :) Есть не два списка слов, а текст
Например:

Есть такая задача, написать программу которая будет заменять в выбранном тексте отдельные слова на другие, слова будут браться из внешнего списка который можно дополнять.

Есть словарь построенный по типу:

Какое слово найти: На что его заменить:
программу прогу
список лист


Программа ищет в тексте слова из списка и заменяет их на указанные, нечто вроде электронного переводчика только без
фонетики, окончаний и построений грамотных предложений, просто замена слов.






 
yozhik   (2002-06-04 18:41) [12]

Опиши задачу по подробней, откуда текст берется, как словарик хранится и т.д.




 
Voldemar ©   (2002-06-05 01:01) [13]

ROM"zone (04.06.02 17:24)
Так я это и сделал... Есть текст, а есть два списка слов АКА словарь.:)) Первый список - что меняем, второй список - на что меняем. Мой код именно для этого и сделан.


 
ROM'zone   (2002-06-06 13:46) [14]

Спасибо Voldemar :o))) я наверное ступил :)


 
ROM'zone   (2002-06-06 16:07) [15]

А как сделать чтобы словарь не подгружался из двух файлов а находиля в одном и слова "что" и "На что" разделялись запятыми:


слово, на что менять
слово, на что менять
слово, на что менять
слово, на что менять
...


?



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

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

Наверх




Память: 0.5 MB
Время: 0.019 c
14-65220
Evgeny
2002-05-17 12:41
2002.06.20
Даже потрепаться модератор и то не дает


1-65128
nitro
2002-06-07 11:42
2002.06.20
Сообщения на русском языке


14-65243
Igorek
2002-05-15 12:36
2002.06.20
Кому в каких условиях лучше работается?


1-65020
Magic
2002-06-09 10:08
2002.06.20
TStringGrid - его методы


1-65158
Kr_Alex
2002-06-06 21:53
2002.06.20
Координаты иконок