Вверх ↑
Этот топик читают: Гость
Ответов: 1397
Рейтинг: 50
#1: 2011-02-03 17:51:39 ЛС | профиль | цитата
Нужен пример замены слов в тексте по такому алгоритму:
Нужно производить замену в тексте каждое 7-е слово, которое больше 3-х символов на словосочетание типа: (заданный текст)"найденное слово для замены"(еще заданный текст). Если следующее седьмое слово меньше 3-х символов, то ссылка вставляется на 8-е или 9-е. Как-то так, если вкратце.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 397
Рейтинг: 34
#2: 2011-02-03 18:59:20 ЛС | профиль | цитата
Ну если вкратце, то я себе это так представляю: перебор слов->счетчик->кол-во символов->замена
карма: 0

1
Голосовали:Валерий
Ответов: 1397
Рейтинг: 50
#3: 2011-02-03 19:09:18 ЛС | профиль | цитата
Black-Light, ну это уж сильно кратко...
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#4: 2011-02-03 19:19:42 ЛС | профиль | цитата
Валерий писал(а):
больше 3-х символов
Валерий писал(а):
меньше 3-х символов
Валерий, определись хотябы с числом символов.
------------ Дoбавленo в 19.19:
Валерий писал(а):
Black-Light, ну это уж сильно кратко...
Black-Light почти полностью описал алгоритм. Там длинней трудно сказать.

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1397
Рейтинг: 50
#5: 2011-02-03 19:48:03 ЛС | профиль | цитата
[/quote
Tad писал(а):
Валерий, определись хотя бы с числом символов.
]
Tad, если внимательно прочитать, то все понятно - Нужно менять каждое седьмое слово состоящее больше чем из 3-х символов, а если это седьмое слово состоит из слова меньше 3-х символов, то менять нужно не это слово, а следующее и т.д.
Tad писал(а):
Black-Light почти полностью описал алгоритм. Там длинней трудно сказать.

Для меня это описание - темный лес. Пример бы.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
Ответов: 16884
Рейтинг: 1239
#6: 2011-02-03 20:56:54 ЛС | профиль | цитата
Валерий писал(а):
а если это седьмое слово
из трёх букв
то
куда бедному крестьянину податься ?

карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 3349
Рейтинг: 233
#7: 2011-02-03 21:04:23 ЛС | профиль | цитата
Tad, Exception
карма: 1

0
Ответов: 397
Рейтинг: 34
#8: 2011-02-03 21:07:43 ЛС | профиль | цитата
Эх не любит народ думать...
Валерий, держи пример, только там недочет - если седьмое слово встречается еще раз в другом месте в тексте, то оно тоже замениться, но это уже думай сам как решить...
code_22413.txt
карма: 0

1
файлы: 1code_22413.txt [3.2KB] [124]
Голосовали:Валерий
Ответов: 16884
Рейтинг: 1239
#9: 2011-02-03 21:10:47 ЛС | профиль | цитата
Ivann писал(а):
Tad, Exception
исключения тоже нужно оговаривать в задании
[flood]
короткий список слов из трёх букв писал(а):
ещё, иди, вот, лом, мор, ров, вол, око, вор, ком, ром, лов, кол, мол и т.д.
[/flood]
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0
Ответов: 1379
Рейтинг: 86
#10: 2011-02-03 21:17:19 ЛС | профиль | цитата
[offtop]
Валерий писал(а):
это седьмое слово состоит из слова

Ууу..[/offtop]
карма: 0

0
Ответов: 8908
Рейтинг: 823
#11: 2011-02-03 21:18:28 ЛС | профиль | цитата
Валерий, без исключений code_22415.txt
карма: 19

1
файлы: 1code_22415.txt [4.6KB] [151]
Голосовали:Валерий
Ответов: 1397
Рейтинг: 50
#12: 2011-02-03 21:27:21 ЛС | профиль | цитата
Black-Light, зря ты так думаешь по поводу "не любит народ думать". Я специально не показывал свое решение, чтобы в последствии сравнить с другими вариантами ;)Думал Tad подключится, у него обычно получаются короткие решения. Вот выкладываю свои заморочки, пока схема извините не очень причесана... Но в ней можно менять количество изменяемых слов.
code_22416.txt
------------ Дoбавленo в 21.27:
Да, один недостаток в моей схеме, нужно из списка строк полученного после обработки текста сделать обратно одну строку.
карма: 0
Время верстки: %cr_time% Текущее время: %time%
0
файлы: 1code_22416.txt [2.1KB] [178]
Ответов: 3349
Рейтинг: 233
#13: 2011-02-03 21:29:27 ЛС | профиль | цитата
Tad писал(а):
короткий список слов из трёх букв

И это только приличные
карма: 1

0
Ответов: 8908
Рейтинг: 823
#14: 2011-02-03 21:34:23 ЛС | профиль | цитата
Валерий, забыл добавить: цифра слева от слова "замена" -- № слова от последней замены, справа -- порядковый номер слова в списке заменяющих слов
карма: 19

0
Ответов: 397
Рейтинг: 34
#15: 2011-02-03 22:15:23 ЛС | профиль | цитата
Black-Light писал(а):
если седьмое слово встречается еще раз в другом месте в тексте, то оно тоже замениться

Вот решение:
code_22418.txt

Леонид, твой пример чет не работает как надо вот с этой строкой:
Нужно производить замену в тексте каждое 7-е слово, которое больше 3-х символов на словосочетание типа

карма: 0

1
Голосовали:Валерий
Сообщение
...
Прикрепленные файлы
(файлы не залиты)