![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Автоматическая замена слов в тексте - по своему словарю.
ROM'zone © (2002-06-03 18:33:00)Привет всем.
Есть такая задача, написать программу которая будет заменять в выбранном тексте отдельные слова на другие, слова будут браться из внешнего списка который можно дополнять.
Например изначально предложение звучит так: Сотрудникам отделов.
В нашем списке указано:
Сотрудникам -> Представителям
Отделов -> Департаментов
В результате имеем : представителям департаментов.
Как это написать ? Я совсем не программист а программа такая нужна, насколько я понимаю это не сложно. Я умею создавать формы и минимально работаю с Delphi. Если не трудно приведите пример такой программы .
Заранее благодарен.
ROM'zone (2002-06-06 16:07:00) [1]А как сделать чтобы словарь не подгружался из двух файлов а находиля в одном и слова "что" и "На что" разделялись запятыми:
слово, на что менять
слово, на что менять
слово, на что менять
слово, на что менять
...
?
ROM'zone (2002-06-06 13:46:00) [2]Спасибо Voldemar :o))) я наверное ступил :)
Voldemar (2002-06-05 01:01:00) [3]ROM"zone (04.06.02 17:24)
Так я это и сделал... Есть текст, а есть два списка слов АКА словарь.:)) Первый список - что меняем, второй список - на что меняем. Мой код именно для этого и сделан.
yozhik (2002-06-04 18:41:00) [4]Опиши задачу по подробней, откуда текст берется, как словарик хранится и т.д.
ROM'zone (2002-06-04 17:24:00) [5]Хотя тут немного не так :) Есть не два списка слов, а текст
Например:
Есть такая задача, написать программу которая будет заменять в выбранном тексте отдельные слова на другие, слова будут браться из внешнего списка который можно дополнять.
Есть словарь построенный по типу:
Какое слово найти: На что его заменить:
программу прогу
список лист
Программа ищет в тексте слова из списка и заменяет их на указанные, нечто вроде электронного переводчика только без
фонетики, окончаний и построений грамотных предложений, просто замена слов.
ROM'zone (2002-06-04 17:18:00) [6]Спасибо , попробую разобраться что к чему %)))
Voldemar (2002-06-04 03:41:00) [7]Sorry!
Забыл одну немаловажную вещь!
строка
S2:=S2:=ReplaceStr(S1, Srch, ReplStr: string);
должна выглядеть, кончно же, так:
S2:=ReplaceStr(S1, Srch.Strings[N], ReplStr.Strings[N]);
а перед циклом прописать
N:=Srch.Count-1;
КОЛИЧЕСТВО СТРОК В ОБОИХ ФАЙЛАХ ДОЛЖНО БЫТЬ ОДИНАКОВЫМ!
Voldemar (2002-06-04 03:36:00) [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;
вот примерно так...
KilkennyCat (2002-06-04 01:45:00) [9]Берешь МС Ворд и быстренько генеририуешь в нем макрос.
ROM'zone (2002-06-03 19:50:00) [10]Никто не поможет ?
ROM'zone (2002-06-03 19:01:00) [11]yozhik это если менять одно слово на другое ... а как сделать чтобы автоматом брал из списка , искал и заменял...
Я понимаю что по сути дела спрашиваю как написать программу, а не отдельное решение, но сам не могу...
yozhik (2002-06-03 18:52:00) [12]используй RXLib там есть ф-ция ReplaceStr(const S, Srch, Replace: string): string - очень классно работает.
Если текст боьшой можно пробежаться по строкам и заменять ...
ROM'zone (2002-06-03 18:48:00) [13]Не устраивает потому что требуется заменять одновременно много слов в разных текстах, так у меня будет словарик который я смогу пополнять, а так придется это делать ручками... а работы много :о)
To Song - я не совсем программер тоесть совсем не программер и с массивами работать не умею :( единственное что я знаю это интерфейс DELPHI умею создавать формы, и производить разные несложные действия, если не трудно приведите пример как это писать, мне больше спросить не у кого, а разбираться с Delphi ради написания одной программы несерьезно, тем более мне даже трудно представить как это делается :(...
HELP PLEASE !!!!
VictorT (2002-06-03 18:38:00) [14]А чем тебя не устраивает любой текстовый редактор с автозаменами?
Song (2002-06-03 18:37:00) [15]Нужно иметь два массива слов один с теми что заменять, второй с теми на что заменять. Лучше сделать в списке. Когда находим слово в образце текста, вырезаем его (Delete) и вставляем новое (Insert)