Notepad ++: Удалить строку перед конкретным текстом в следующей строке

1059
Idunno

Я хотел бы отфильтровать свой список и удалить все мои бесплатные подписки, включая строку над ним Membership No: Random Number. Есть ли способ сделать это?


Пример данных:

Membership No: Random Number Subscription: Free Membership No: Random Number Subscription: Free Membership No: Random Number Subscription: Paid Membership No: Random Number Subscription: Free Membership No: Random Number Subscription: Free 
-1
Можете ли вы привести пример того, что у вас есть сейчас, и каков ваш желаемый результат? И почему вы включаете [microsoft-excel] в свои теги? Vylix 6 лет назад 0
Если ваш вопрос «Сколько есть платных строк», ответ таков: используйте функцию «Подсчет» в Notepad ++. Это даст ответ. Ctrl + F, поиск платных, нажмите Count. Michael S. 6 лет назад 0

1 ответ на вопрос

1
wilson

Предположим: файл использует Linux EOL (LF), так как пост имеет linuxтег

  1. Поиск> Заменить ( Ctrl- H)

    • Найти то, что: ^.*\nSubscription: Free\n
    • Заменить на: (пусто)
    • Режим поиска: регулярное выражение
    • Снимите флажок ". Соответствует символу новой строки"
  2. Нажмите Replace All( Alt- A)

  3. Две строки будут удалены для каждого матча


  • ^ : Начало строки
  • .* : Соответствует любой строке (строка перед ключевой строкой)
  • \n : Разрыв строки в Linux
  • Subscription: Free : Ключевая строка
  • \n : Разрыв строки в Linux
Спасибо за это, но при этом удаляется весь другой текст, а не удаляется строка выше и строка поиска. Idunno 6 лет назад 0
Снимите флажок ". Соответствует символу новой строки" и повторите попытку. Ответ обновлен соответственно. wilson 6 лет назад 0

Похожие вопросы