Извлечение цитат из транскрипта фильма / ТВ в Notepad ++

1

У меня есть стенограмма 3-часового документального фильма, который заполнен цитатами, которыми я хотел бы поделиться. Расшифровка стенограммы огромна, поэтому ее прохождение вручную займет вечность.

В общем, я просто хочу удалить весь текст из стенограммы, кроме текста, найденного между кавычками: удалить «сохранить» удалить.

Я уверен, что вы можете сделать это в Notepad ++, я просто не знаю как. Может кто-нибудь помочь, пожалуйста!

nutman
источник

Ответы:

5

Это решение этой проблемы заключается в использовании RegEx , инструмента, который сопоставляет части текста с заданным набором правил. Ваши правила довольно просты - ловите все между двумя кавычками. Я не лучший в Regex, но я нашел решение, которое, кажется, соответствует тому, что вы ищете.

Я рекомендую использовать редактор Sublime для этого - во-первых, я не мог заставить его работать с легкостью в N ++, а во-вторых, Sublime действительно потрясающий!

Вот как извлечь ваши цитаты.

  1. Откройте файл, из которого вы хотите извлечь в Sublime.
  2. Нажмите, ctrl+fчтобы открыть инструмент поиска в нижней части экрана.
  3. Нажмите кнопку слева от инструмента поиска с .*символами. Это включает соответствие RegEx.
  4. В строке поиска введите: "[^"]+"
  5. В правом углу инструмента поиска нажмите Find All
  6. Нажмите, ctrl+cчтобы скопировать все выборы.
  7. Откройте новый файл и нажмите, ctrl+vчтобы вставить весь выделенный текст.

RegEx Объяснение

Я разобью выражение на несколько частей.

"- Это начинается сопоставление текста, начиная с двойной кавычки.
[^"]- Это соответствует всему тексту, который не включает в себя еще одну двойную кавычку - это важно, потому что, если мы сопоставим кавычки, мы начнем сопоставлять все в файле после первой кавычки! Не то, что мы хотим. ^Символ является отрицанием символ в RegEx - это указывает на то, чтобы не соответствовать тому , что происходит дальше.
+"- Вынуждает нас соответствовать только тексту, который в итоге заканчивается другой двойной кавычкой. Это предотвращает сопоставление, скажем, последней цитаты в документе с концом документа, и завершает все начавшиеся ранее совпадения, не перетекая в то, что мы не хотим сопоставлять.

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

Да, и в заключение, одна из причин, почему я рекомендовал Sublime, заключается в том, что он поддерживает несколько курсоров, что позволяет легко выбирать разные части текста одновременно. Попробуйте открыть документ и ctrl+middle clickввести его в нескольких местах, а затем начать печатать.

редактировать

Ха-ха, я совершенно забыл заглянуть в самое заметное место в Notepad ++ - инструмент поиска - для встроенного RegEx. Вы можете сделать это примерно так же, но не было хорошего способа выделить весь текст. Простейшей вещью было нажать «Найти все в текущем документе», а затем выделить весь текст, сгенерированный в окне «Поиск» внизу. Но это не так красиво, как это делает Sublime.

Девон Парсонс
источник
Вопрос кажется решенным, но что бы вы сделали, если бы цитата была прервана переводом строки?
Кард Нейлс
@KardNails Я не думаю, что разрыв строки повлияет на это - я провел некоторое тестирование, и, похоже, это не так. Символ новой строки есть \n, и это соответствует во время отрицания кавычки.
Девон Парсонс
Интересно. Можете ли вы объяснить, почему это ".*?"только поиск совпадающих символов в одной строке, если я не добавлю \s?
Kard Nails
@KardNails Я не уверен в этом. \sРазделитель соответствует все пробелы включая пробелы и табуляции, так что, скорее всего , соответствует большинству котировок в вопросе ФП в. При этом, это все еще учитывается в RegEx, который я разместил выше. Я не смог воссоздать цитату с новыми строками, которые не соответствовали моему RegEx. Какое точное выражение вы используете?
Девон Парсонс
Ничего конкретного. Я просто пытался понять, почему использование .*?будет искать только в каждой отдельной строке. Не .должно соответствовать ни одному персонажу? Разве это не включает пробелы, табуляции и разрывы строк?
Кард Нейлс
0

Попробуй это :

  1. Ctrl + H
  2. Найти что: ^ (\ l +)
  3. Заменить на: (пусто)
  4. Заменить все

введите описание изображения здесь

мок
источник
Что должен делать это регулярное выражение?
Kard Nails