![]() |
Как удалить подстроки в txt или word файле
Интересует, как без написания програмки удалить подстроки в txt или word файле?
Подстроки такого вида #пару_символов# : текст #u2f3ceac6b7s# еще текст #u6220a2877es# #u6220a2877es# #u6220a2877es# еще текст еще текст еще текст # еще текст еще еще еще еще еще текст # еще текст #u6220a2877es# Удалять по #*# нельзя, т.к. удалиться нужная подстрока # еще текст еще еще еще еще еще текст # |
Re: Как удалить подстроки в txt или word файле
По-моему, только написанием макроса для Word'а.
|
Re: Как удалить подстроки в txt или word файле
AkelPad, EditPad или их аналоги, поиск и замена, заменить все
|
Re: Как удалить подстроки в txt или word файле
Накатал быстренько программу макроса, выполняющего эту фигню в MS Word:
Цитата:
Цитата:
Цитата:
|
Re: Как удалить подстроки в txt или word файле
Дюк спасибо!
Я хотел примерно следующее, там кстати есть вопросик. Цитата:
|
Re: Как удалить подстроки в txt или word файле
Цитата:
Цитата:
|
Re: Как удалить подстроки в txt или word файле
Интересно, как отработает скрипт на ворд файле в 3-4 метра.
|
Re: Как удалить подстроки в txt или word файле
Прогон только один идет, вложенный цикл строго на поиск "#...текст...#", поэтому, не думаю, что слишком долго.
1024*1024*4=4 194 304 символа. В Excel'е у меня вложенные циклы по 9 миллионов кругов гоняли - минут двадцать-тридцать занимало. |
Re: Как удалить подстроки в txt или word файле
Запустил дома на 10 метровый файл, 2 часа подождал, проц. загружен. Недождался.
|
Re: Как удалить подстроки в txt или word файле
Ну, а что ты хотел? :ab: Макросы на ВБейсике в Офисе работают в десятки тысяч раз медленнее, чем скомпилированные программы. Если бы файл был строго в .txt формате, можно было бы открывать файл, прямо с винта считывать побайтно, и тут же в другой, открытый на запись, сохранять.
|
Re: Как удалить подстроки в txt или word файле
Цитата:
И какая разница, читать с txt, или ворд читает с родного ему doc(он же xml)? |
Re: Как удалить подстроки в txt или word файле
Цитата:
Цитата:
Файл vasya.txt, считанный побайтно: Цитата:
Цитата:
Цитата:
|
Re: Как удалить подстроки в txt или word файле
Продолжение:
Цитата:
|
Re: Как удалить подстроки в txt или word файле
И, наконец, оно же, при побайтном считывании напрямую из файла (тут "Вася-дурак! Вот так!" вообще хрен знает где закодирован):
Цитата:
|
Re: Как удалить подстроки в txt или word файле
Цитата:
|
Re: Как удалить подстроки в txt или word файле
Тогда вопрос, как в макросах ворда сделать замену #????????????#, которая работает при замете с постановочными знаками? Типа регулярное выражение.
|
Re: Как удалить подстроки в txt или word файле
Конкретизируй задачу. Я не понял :ac:.
|
Re: Как удалить подстроки в txt или word файле
Более частная задача, делать замены подстрок типа #123456789012# .
такие подстроки заменяются в ворде при: заменить - больше - постановочные знаки и ввести Цитата:
|
Re: Как удалить подстроки в txt или word файле
На что заменяем известно? Строка как выглядеть будет, на которую заменяем?
-------- Добавлено в 23:28 -------- Предыдущее было в 23:23 -------- Этот блок: Цитата:
Цитата:
Цитата:
Цитата:
|
Re: Как удалить подстроки в txt или word файле
Да не, я под ??? имею виду любые символы, это считай регулярное выражение.
"?" заменяется на любой символ. пример #1er2fgh45n-u# |
Re: Как удалить подстроки в txt или word файле
Жесть, в текстовых редакторах явно всё быстрее работает
|
Re: Как удалить подстроки в txt или word файле
В итоге сообразил, что можно записать макрос, а потом отредактировать его под себя.
Вот код: With Selection.Find .Text = "#???#" .Replacement.Text = "" .Forward = True .Wrap = wdFindContinue .Format = False .MatchCase = False .MatchWholeWord = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = True End With Selection.Find.Execute Replace:=wdReplaceAll |
Re: Как удалить подстроки в txt или word файле
Ну, это существенно эффективнее будет. Я весь файл, как массив типа char брал и сканировал его, а ты готовые методы Selection.Find, Selection.Find.Replacement заюзал. Я че-то даже не стал документацию читать на них, старым проверенным способом отработал.
|
Текущее время: 15:50. Часовой пояс GMT +2. |
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot