Показать полную графическую версию : [решено] Текстовый редактор
Подскажите программу в которой можно к примеру удалять или заменять каждое второе или седьмое повторяющееся слово.
Так понимаю, для начала нужно научиться распознавать пробел между словами.
silalex, думаю, пробелы здесь не причём. :) Скорее всего нужен счётчик, который будет игнорировать все найденые повторяющеся слова кроме второго или седьмого.
LehaMechanic
09-01-2013, 19:26
А мне не понятно. Для каких целей это требуется (пример текста)? Почему именно второе и седьмое повторяющиеся слова и как они расположены в тексте друг относительно друга: подряд, вразброс? Подразумевается одно и то же слово или разные? Насколько длинный текст и в каком он там формате?
Скорее всего Ворд со своими макросами можно запрограммировать, но это не "сел и поехал", а разбираться надо.
Просто в програмном коде иногда нужно удалять определенные команды которые повторяются в определенной последовательности
Например
G98X8.179Y1044.036
E1
G00G42X1628.125Y423.896
M103
G01 X1629.063Y422.129
G02I-1.524J2.871
M104
G00G40
X1632.408Y415.824
G42X1643.852Y423.79
M103
G01 X1644.353Y421.853
G02I-0.814J3.147
M104
G00G40
X1646.14Y414.943
E2
G41X1572.518Y402.3
M103
G01 Y405.3
Y421.7
G02X1572.818Y422.I0.3J0.
G01 X1580.518
G03X1580.518Y428.I0.J3.
Здесь нужно удалять каждое второе значение М103, бывает нужно удалять каждое пятое слово. А если сама программа на десятки листов то вручную это делать неудобно) (это часть кода программы для резки металла)
LehaMechanic
10-01-2013, 19:55
asterot, думаю, мне удалось найти решение. Оно называется MS Excel. Пример прилепил.
Как пользоваться:
- В столбец A копируете свой текст, начиная с ячейки А3 включительно. При этом каждая строчка автоматически займёт отдельную ячейку.
- В ячейку B3 копируете строчку, которую необходимо найти и удалить.
- В ячейке B6 указываете цифрой порядковый номер удаляемых слов по типу "каждое второе", "каждое десятое" и т.д.
- Столбцы C, D, E растягиваете вниз настолько, насколько необходимо
- Результат найдете в столбце E. Как можете заметить, вместо слов, подлежащих удалению, теперь пустое место.
- Выделяете весь столбец E, копируете в Word, он вставляется ввиде таблицы. Выделяете всю таблицу - правой кнопкой - объединить ячейки. Снова получаете цельный текст.
Если кто-то в состоянии предложить более элегантное решение или найдёт ошибки - милости прошу. :)
Leha Ares, благодарю за решение :)
Приподниму тему дабы не создавать мелкую...
Редактор текста типа PSpad или Akelpad, или любой другой:
требуется научить сортировку (написать макрос?) в каждой строке искать от СЛОВО1 до СЛОВО2 и удалять строки с повторяющимся ... вхождением(?)
В древнем ДОСовском РЕ2 я бы такое написал за пару минут...
Solder, пример бы не помешал.
Iska, ну, к примеру, имеем (сорри, не могу написать полностью - НИЗЗЯ!):
<a name="СЛОВО1" href="ссылка1"> и т.д. до конца строки
и следующая строка с
<a name="СЛОВО2" href="ссылка1"> и т.д. до конца строки
Подобных строк с частичным совпадением может быть довольно много, больше 10.
Т.е. имеем строки с различающимися СЛОВАМИ, но с одинаковыми ссылками. Нужно оставить строки с разными СЛОВАМИ, пусть даже с повторяющимися ссылками.
Сейчас приходится в PSpad сортировать страницу по ВСЕЙ строке (с удалением ПОЛНЫХ дублей), а затем ручками удалять ЛИШНИЕ СТРОКИ по "СЛОВО". Была бы в редакторе возможность искать С УСЛОВИЕМ...
Строк может быть много, больше 1000...
Поскольку я полный чайник в скриптах PSpad, да и как-то маловато их - нет проверки условий - (хотя с макросами даже в виде аббревиатур(!) в РЕ2 в _те времена сам разобрался), вот и прошу помощи у ЗнаТоКов...
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.