Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.06.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.006 c
14-65218
first_aid
2002-05-18 07:03
2002.06.20
Имена использовавшихся юнитов в откомпиленом exe.


1-65069
BofA
2002-06-09 15:56
2002.06.20
Вопрос по StringGrid у


3-64968
3asys
2002-05-28 11:06
2002.06.20
Not associated with a trusted SQL Server connection


1-65038
zeos
2002-06-08 17:15
2002.06.20
Как удержать форму поверх всех окон?


14-65238
Explorer
2002-05-17 11:28
2002.06.20
Кто работал с компонентами Flat Controls с AfalinaSoft.com?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский