Форум: "Начинающим";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];
ВнизЗамена слов Найти похожие ветки
← →
vik2008 (2008-10-28 21:45) [0]Добрый день.
Подскажите пожалуйста: имеется файл в .txt формате вот такого содержания:
автобан|автомагистраль,автодорога
Каким образом можно сделать, чтобы текст в "Memo" прошёл своеобразную замену слов по типу того, что берётся каждое слово, затем сверяется по этому текстовому файлу (сверяется с каждым первым словом в строчке, не дальше) и, если такое имеется, то рэндомно заменяется на одно из тех, которое идёт после вертикального слэша?
Ну, что-то вроде синонимайзера получается.
Заранее благодарен.
← →
{RASkov} © (2008-10-28 21:49) [1]В чем затык? Просто наговорил много..... целая программа, как ответ хочешь видеть?
← →
vik2008 (2008-10-28 21:53) [2]Затык и в том, что не знаю как лучше осуществить поиск по Memo, чтобы отбиралось именно слово, а не, например, "автобан!" с каким-либо знаком и препинания и т.д. Т.е. надо чистое слово.
Ну и ещё затык в том, что как потом осуществить перебор по файлу с синонимами
← →
{RASkov} © (2008-10-28 21:58) [3]Общая схема может быть такой:
При чтении тхтфайла "загнать его в два списка(TStringList) в первый слово до |, а во второй - слова после |
Далее бежим по мемо дергая каждый раз очередное слово(тут нужно определится что есть слово) и IndexOf его по первому списку и если найдено, то рандомно выдернуть слово из строки второго списка с индексом найденного в первом... далее просто заменить в мемо старое слово на новое.... Бежим далее...
← →
{RASkov} © (2008-10-28 22:00) [4]> [2] vik2008 (28.10.08 21:53)
В RxLib есть строковые функции которые тебе могли бы пригодится в данной задаче.... Имею в виду - "дергание слов"...
← →
vik2008 (2008-10-28 22:01) [5]Ага, принцип ясен. Но если всё же без RxLib?
← →
{RASkov} © (2008-10-28 22:09) [6]> [5] vik2008 (28.10.08 22:01)
Да легко.... Только метод дергания слова самому придется писать...
А вот как это выглядело бы с RxLibfor N:=1 to WordCount(Text) do begin
Slovo:=GetWord(N);
//Работаем со Slovo"м
end;
Ну это примерно и не оптимально :)
← →
Германн © (2008-10-29 00:27) [7]
> vik2008 (28.10.08 22:01) [5]
>
> Ага, принцип ясен. Но если всё же без RxLib?
>
А если б у тебя был бы RxLib мог бы подсмотреть и "технологию". Главная ценность этой библиотеки именно в её исходниках! Они содержат очень много умного, доброго и вечного!
:)
← →
{RASkov} © (2008-10-29 00:45) [8]> [7] Германн © (29.10.08 00:27)
+10
← →
Германн © (2008-10-29 01:46) [9]
> {RASkov} © (29.10.08 00:45) [8]
>
> > [7] Германн © (29.10.08 00:27)
>
> +10
>
Мало! Кто больше?
P.S. Тут более уместнее была бы операция умножения, но я лично, предпочёл бы операцию возведения в степень. :)
Хотя и чтение %DELPHI\DEMOS тоже важно.
← →
Кирей (2008-10-29 14:05) [10]построчно StringReplace из StrUtils
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.12.07;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c