Это решение этой проблемы заключается в использовании RegEx , инструмента, который сопоставляет части текста с заданным набором правил. Ваши правила довольно просты - ловите все между двумя кавычками. Я не лучший в Regex, но я нашел решение, которое, кажется, соответствует тому, что вы ищете.
Я рекомендую использовать редактор Sublime для этого - во-первых, я не мог заставить его работать с легкостью в N ++, а во-вторых, Sublime действительно потрясающий!
Вот как извлечь ваши цитаты.
- Откройте файл, из которого вы хотите извлечь в Sublime.
- Нажмите,
ctrl+f
чтобы открыть инструмент поиска в нижней части экрана.
- Нажмите кнопку слева от инструмента поиска с
.*
символами. Это включает соответствие RegEx.
- В строке поиска введите:
"[^"]+"
- В правом углу инструмента поиска нажмите
Find All
- Нажмите,
ctrl+c
чтобы скопировать все выборы.
- Откройте новый файл и нажмите,
ctrl+v
чтобы вставить весь выделенный текст.
RegEx Объяснение
Я разобью выражение на несколько частей.
"
- Это начинается сопоставление текста, начиная с двойной кавычки.
[^"]
- Это соответствует всему тексту, который не включает в себя еще одну двойную кавычку - это важно, потому что, если мы сопоставим кавычки, мы начнем сопоставлять все в файле после первой кавычки! Не то, что мы хотим. ^
Символ является отрицанием символ в RegEx - это указывает на то, чтобы не соответствовать тому , что происходит дальше.
+"
- Вынуждает нас соответствовать только тексту, который в итоге заканчивается другой двойной кавычкой. Это предотвращает сопоставление, скажем, последней цитаты в документе с концом документа, и завершает все начавшиеся ранее совпадения, не перетекая в то, что мы не хотим сопоставлять.
Я думаю, что есть более красивые способы сделать это, но я также ожидаю, что это покрывает то, что вам нужно. Если у вас есть какие-либо проблемы с этим, дайте мне знать!
Да, и в заключение, одна из причин, почему я рекомендовал Sublime, заключается в том, что он поддерживает несколько курсоров, что позволяет легко выбирать разные части текста одновременно. Попробуйте открыть документ и ctrl+middle click
ввести его в нескольких местах, а затем начать печатать.
редактировать
Ха-ха, я совершенно забыл заглянуть в самое заметное место в Notepad ++ - инструмент поиска - для встроенного RegEx. Вы можете сделать это примерно так же, но не было хорошего способа выделить весь текст. Простейшей вещью было нажать «Найти все в текущем документе», а затем выделить весь текст, сгенерированный в окне «Поиск» внизу. Но это не так красиво, как это делает Sublime.
\n
, и это соответствует во время отрицания кавычки.".*?"
только поиск совпадающих символов в одной строке, если я не добавлю\s
?\s
Разделитель соответствует все пробелы включая пробелы и табуляции, так что, скорее всего , соответствует большинству котировок в вопросе ФП в. При этом, это все еще учитывается в RegEx, который я разместил выше. Я не смог воссоздать цитату с новыми строками, которые не соответствовали моему RegEx. Какое точное выражение вы используете?.*?
будет искать только в каждой отдельной строке. Не.
должно соответствовать ни одному персонажу? Разве это не включает пробелы, табуляции и разрывы строк?Попробуй это :
источник