Member 13935422 Ответов: 3

Как отредактировать текстовый файл следующим образом?


У меня есть текстовый файл с такими URL-адресами, как archive.org/details/ightrailwaycon00parkgoog ,но мне нужно изменить любой из них в такую форму, как archive.org/download/lightrailwaycon00parkgoog/lightrailwaycon00parkgoog.pdf ,
в которой слово "детали" было заменено на "скачать",а вещь после последнего
Слэш был заменен на "/itself.pdf".Мне нужно сделать это для всех URL-адресов в текстовом файле с общей формой archive.org/details/x.Please помоги мне с этим.

Что я уже пробовал:

блокнот и некоторые текстовые редакторы,такие как not pad++ и EditPad.Про

3 Ответов

Рейтинг:
23

CHill60

Используйте Notepad++, запишите макрос в первой строке, а затем воспроизведите его до конца файла.

Кроме того, загрузите текстовый файл в базу данных, такую как SQL Express или Access и т. д., и напишите немного SQL, чтобы внести изменения, а затем экспортируйте обратно в текстовый файл.

Можно было бы сделать что-то подобное и в Excel.

Редактирование - четкие инструкции

1. Загрузите файл в Notepad++
2. поместите курсор в начало 1-й строки
3. Нажмите кнопку "макрос" в меню (или используйте Alt-M)
4. Нажмите Кнопку "Начать Запись"
5. Нажмите клавишу End (теперь курсор должен находиться в конце строки 1)
6. Используйте Ctrl+Shift+LeftArrow, чтобы выделить последнее "слово" этой строки
7. нажмите Ctrl+C, чтобы скопировать это слово
8. Снова нажмите клавишу разъединения
9. Тип /
10. нажмите Ctrl+V, чтобы вставить слово на место
11. Тип .pdf
12. Нажмите клавиша со стрелкой вниз затем клавишу Home (курсор будет в начале линии 2)
13. Щелкните Макрос, Остановить Запись
13. Нажмите кнопку воспроизведения (или Ctrl+Shift+P) столько раз, сколько требуется, или используйте опцию воспроизведения до конца файла, которую я описал в своих комментариях ниже
14. После завершения используйте Ctrl+H, чтобы получить диалоговое окно найти и заменить
15. Тип /details/ в поле "найти что"
16. Тип /download/ в поле "заменить на" коробке
17. Нажмите Кнопку Заменить Одинлл
18. Сохраните файл

Альтернативно в Excel
1. Вставьте файл в столбец а
2. в столбце B введите последний бит для первых нескольких строк - Excel предложит остальную часть заливки серым цветом (я не могу вспомнить ее собственное имя - что-то вроде Flash Fill)
3. Нажмите на серые предложения, и Excel заполнит весь столбец B для вас
4. в ячейке типа С1 =A1 & "/" & B1 & ".pdf"
5. щелкните в ячейке C1 и дважды щелкните маленький сплошной квадрат в правом нижнем углу границы, выделяя ячейку
6. Excel заполнит для вас весь столбец C
7. После завершения используйте сочетание клавиш Ctrl+H, чтобы получить найти & диалоговое окно заменить
8. Тип /details/ в поле "найти что"
9. Тип /download/ в поле "заменить на" коробке
10. Нажмите Кнопку Заменить Одинлл
11. Скопировать столбец C и вставить в обратно в файл с помощью редактора


Member 13935422

Спасибо.Я не знаком с его инструментами.Так или иначе,я запустил редактор,открыл текстовый файл,выбрал первую строку, затем нажал кнопку Начать запись,но она сохранилась
запись.Что я должен знать?

Member 13935422

Спасибо.Я не знаком с инструментами редактора.В любом случае,я запустил редактор, открыл текстовый файл,выбрал первую строку,нажал кнопку Начать запись,но
он продолжает записывать.Что же мне делать?

CHill60

Нажмите на макрос еще раз и нажмите на кнопку "Остановить запись".
Затем снова нажмите на макрос и нажмите кнопку "воспроизведение" или используйте Ctrl-Shift-P.
Когда вы убедитесь, что он работает правильно, нажмите кнопку макрос, запустите макрос несколько раз, затем выберите в диалоговом окне "Выполнить до конца файла" и нажмите кнопку "Выполнить"

Есть учебные пособия и другие справочные ресурсы - нажмите на вопросительный знак в строке меню

Member 13935422

Я сделал это,но воспроизведение отключено.
Я думаю, что мой вопрос был недостаточно ясен.Позвольте мне объяснить это так,
я получил текстовый файл, содержащий URL-адреса в общем виде archive.org/details/x например ,archive.org/details/sd ,
archive.org/details/ghry6udg , archive.org/details/socialsci .Теперь я хочу обратить их все к общей форме archive.org/download/x/x.pdf ,таким образом, второй пример выше становится
archive.org/download/ghry6udg/ghry6udg.pdf -да .Спасибо.

CHill60

Воспроизведение отключено, потому что вы не записали макрос. Я обновил свое решение с помощью пошаговых инструкций

Member 13935422

Спасибо.Процесс не работает, если после последнего / будет что-то вроде
"in.ernet.dli.2015.222", в котором 222 берется в качестве последнего word.So,есть ли способ заставить его понять, чтобы скопировать каждую вещь после последней косой черты вместо того, чтобы
последнее слово?

CHill60

Excel one все еще должен работать, если вы поместите эту запись в верхней части. В Notepad++ выполните поиск /details/ затем вместо нажатия клавиши End используйте клавишу F3 (поиск снова) и стрелку вправо. ТБХ ты наверное уже мог бы сделать их все вручную

Рейтинг:
1

Patrice T

archive.org/details/ightrailwaycon00parkgoog
archive.org/download/lightrailwaycon00parkgoog/lightrailwaycon00parkgoog.pdf

Действительно, замена регулярным выражением кажется уместной.

Всего лишь несколько интересных ссылок, которые помогут построить и отладить регулярное выражение.
Вот ссылка на документацию по регулярным выражениям:
perlre - perldoc.perl.org[^]
Вот ссылки на инструменты, помогающие создавать регулярные выражения и отлаживать их:
.Объем тестер регулярное выражение - регулярное выражение шторм[^]
Регулярное Средство Выражения Эспрессо [^]
RegExr: Learn, Build, & Test RegEx[^]
Онлайн-тестер регулярных выражений и отладчик: PHP, PCRE, Python, Golang и JavaScript[^]
Этот пример показывает вам регулярное выражение в виде красивого графика, который действительно полезен для понимания того, что делает регулярное выражение:
Debuggex: онлайн-тестер визуальных регулярных выражений. JavaScript, Python и PCRE.[^]
Этот сайт также показывает регулярное выражение в красивом графике, но не может проверить, что соответствует регулярному выражению:
Regexper[^]


CHill60

:смех: ОП не может справиться с записью макроса в NP++ и нашел учебник для регулярных выражений в Notepad++ слишком сложным.

Мне нравятся графические, Тхо!

Patrice T

Спасибо. Мне особенно нравится debugex, который также позволяет тестировать.

Рейтинг:
0

Jochen Arndt

С помощью Notepad++ вы можете использовать регулярные выражения для поиска и замены.
Видеть Как использовать регулярные выражения в Notepad++ (учебник)


CHill60

Ницца.

Member 13935422

Спасибо.Не могли бы вы сказать мне,как я мог бы это сделать в случае, который я подробно объяснил выше?Знаешь,связь, которую ты мне дал, очень сложная.

Jochen Arndt

Да, это сложно.

Повторите процедуру в два этапа:
Замена /details/ на /download/ проста, как обычно, и не требует регулярного выражения.

Для второго используйте сгруппированное совпадение всего после последней косой черты до конца строки (непроверенное: "\/([^/]+)$") и замените это на
матч + "/" + матч + ".формат PDF"
где на совпадение ссылается \1:
\1\/\1.pdf

Вы должны проверить его, потому что это с нуля, не проверяя его.