У меня есть длинные текстовые файлы (файлы субтитров .srt, на самом деле), которые, к сожалению, содержат много не относящейся к делу или отвлекающей информации.
Весь нерелевантный текст заключен в одинаковые пары символов (абзаца):
Так, например, некоторый текст будет выглядеть следующим образом:
Это важно, и «мусорный тра sh мусорный мусор» Я бы хотел оставить его.
Очевидно, я хочу удалить все между символами and и оставить все остальное. Не имеет значения, удаляются или сохраняются сами символы or: если они сохраняются, тривиально просто удалить их непосредственно с последующим поиском / заменой - так что мне просто нужно любое совпадение с шаблоном.
Обратите внимание, что символы come состоят из одинаковых пар, так что это не так просто, как, например, убрать все между [асимметричными символами].
Я не работаю на какой-либо конкретной платформе. На самом деле, я надеялся использовать веб-инструмент для этого , как этот .
Мне просто нужно регулярное выражение - если кто-нибудь может помочь! В качестве альтернативы, если есть способы лучше, чем регулярное выражение, я был бы признателен за предложения.
Редактировать: было предложено, чтобы этот вопрос ( Удалить текстовые разделители в строке (используя регулярное выражение) ?) ) отвечает на то, что я ищу. Спасибо, но, к сожалению, это не так. Это относится к использованию в C# (чего я не знаю), и ответы на этот вопрос не объясняют, как именно воспроизвести то, что я хочу. Я хочу, чтобы он работал в онлайн-инструменте, с которым я связывался.
Обновление: Хороший ответ работает, но только если нежелательный текст появляется в строке. Мне также нужно, чтобы удалить текст, где вся строка является нежелательной:
779 00: 35: 52,216 -> 00: 35: 54,784
Я уже скучаю по нему.
780 00: 36: 00,291 -> 00: 36: 03,727
¶ Если вам когда-нибудь понадобится кто-то ¶
665
00: 30: 21,821 - -> 00: 30: 25,589
¶ По ощущениям
иногда вы хотите ¶
Поэтому я хочу удалить все , которое появляется между символами,, независимо от того, куда они обращаются в строке, и независимо от наличия разрывов строки.
Второе обновление После принятого ответа кажется, что он не совсем работает. В примере здесь приведенное регулярное выражение не работает в первом многострочном экземпляре. Я понятия не имею, что не так. Я просто хочу, чтобы разрывы строк (или любые другие символы) не имели отношения к рассмотрению. Просьба просто удалить все между парами символов,, независимо от того, где они появляются, и независимо от того, что находится между ними.
Окончательное (надеюсь) обновление
Для справки и благодаря пользователю MDR у нас есть решение: (¶[\S\s]*?¶)