Нужен пример замены слов в тексте по такому алгоритму:
Нужно производить замену в тексте каждое 7-е слово, которое больше 3-х символов на словосочетание типа: (заданный текст)"найденное слово для замены"(еще заданный текст). Если следующее седьмое слово меньше 3-х символов, то ссылка вставляется на 8-е или 9-е. Как-то так, если вкратце.
Этот топик читают: Гость
Ответов: 1397
Рейтинг: 50
|
|||
карма: 0 |
|
Ответов: 397
Рейтинг: 34
|
|||
Ну если вкратце, то я себе это так представляю: перебор слов->счетчик->кол-во символов->замена
|
|||
карма: 0 |
| ||
Голосовали: | Валерий |
Ответов: 1397
Рейтинг: 50
|
|||
Black-Light, ну это уж сильно кратко...
|
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Валерий писал(а): больше 3-х символов Валерий писал(а): меньше 3-х символов------------ Дoбавленo в 19.19: Валерий писал(а): Black-Light, ну это уж сильно кратко... |
|||
карма: 25 |
|
Ответов: 1397
Рейтинг: 50
|
|||
[/quote
Tad писал(а): Валерий, определись хотя бы с числом символов.Tad, если внимательно прочитать, то все понятно - Нужно менять каждое седьмое слово состоящее больше чем из 3-х символов, а если это седьмое слово состоит из слова меньше 3-х символов, то менять нужно не это слово, а следующее и т.д. Tad писал(а): Black-Light почти полностью описал алгоритм. Там длинней трудно сказать. Для меня это описание - темный лес. Пример бы. |
|||
карма: 0 |
|
Ответов: 16884
Рейтинг: 1239
|
|||
Валерий писал(а): а если это седьмое слово то куда бедному крестьянину податься ? |
|||
карма: 25 |
|
Ответов: 3349
Рейтинг: 233
|
|||
Tad, Exception
|
|||
карма: 1 |
|
Ответов: 397
Рейтинг: 34
|
|||
Эх не любит народ думать...
Валерий, держи пример, только там недочет - если седьмое слово встречается еще раз в другом месте в тексте, то оно тоже замениться, но это уже думай сам как решить... code_22413.txt |
|||
карма: 0 |
| ||
файлы: 1 | code_22413.txt [3.2KB] [132] | ||
Голосовали: | Валерий |
Ответов: 16884
Рейтинг: 1239
|
|||
Ivann писал(а): Tad, Exception[flood] короткий список слов из трёх букв писал(а): ещё, иди, вот, лом, мор, ров, вол, око, вор, ком, ром, лов, кол, мол и т.д. |
|||
карма: 25 |
|
Ответов: 1379
Рейтинг: 86
|
|||
[offtop]
Валерий писал(а): это седьмое слово состоит из словаУуу..[/offtop] |
|||
карма: 0 |
|
Ответов: 8930
Рейтинг: 823
|
|||
Валерий, без исключений code_22415.txt
|
|||
карма: 19 |
| ||
файлы: 1 | code_22415.txt [4.6KB] [160] | ||
Голосовали: | Валерий |
Ответов: 1397
Рейтинг: 50
|
|||
Black-Light, зря ты так думаешь по поводу "не любит народ думать". Я специально не показывал свое решение, чтобы в последствии сравнить с другими вариантами ;)Думал Tad подключится, у него обычно получаются короткие решения. Вот выкладываю свои заморочки, пока схема извините не очень причесана... Но в ней можно менять количество изменяемых слов.
code_22416.txt ------------ Дoбавленo в 21.27: Да, один недостаток в моей схеме, нужно из списка строк полученного после обработки текста сделать обратно одну строку. |
|||
карма: 0 |
| ||
файлы: 1 | code_22416.txt [2.1KB] [189] |
Ответов: 3349
Рейтинг: 233
|
|||
Tad писал(а): короткий список слов из трёх букв И это только приличные |
|||
карма: 1 |
|
Ответов: 8930
Рейтинг: 823
|
|||
Валерий, забыл добавить: цифра слева от слова "замена" -- № слова от последней замены, справа -- порядковый номер слова в списке заменяющих слов
|
|||
карма: 19 |
|
Ответов: 397
Рейтинг: 34
|
|||
Black-Light писал(а): если седьмое слово встречается еще раз в другом месте в тексте, то оно тоже заменитьсяВот решение: code_22418.txt Леонид, твой пример чет не работает как надо вот с этой строкой: Нужно производить замену в тексте каждое 7-е слово, которое больше 3-х символов на словосочетание типа |
|||
карма: 0 |
| ||
Голосовали: | Валерий |