Описание

В Excel нет стандартного инструмента для массовой замены по списку. Поэтому я дописал этот маленький, но нужный инструмент и включил его в пакет SEO-Excel. Его интерфейс интуитивно понятен, но будьте осторожны! Он перезапишет вам лист поверх старых данных и отменить это через ctrl+z  будет нельзя.  У инструмента 3 режима работы :

  1. Замена слов
  2. Замена подстрок
  3. Замена по регулярному выражению

Плюс, нужно указать где вы хотите произвести замену: в выделенных ячейках (активный диапазон), или в столбце целиком. На гифке ниже это и демонстрируется.

GIF

Замена целых слов или замена подстрок?

Тут все очень просто. Представим, что мы хотим заменить слово "ключ" на слово "замок".
Если выбран режим Целые слова то ячейка Excel с содержанием "ключница" после замены останется без изменений.
Если выбран режим Подстрока то "ключница" превратится в "замокница", что согласитесь, может не совпасть с вашими ожиданиями, поэтому и существует режим Целые слова. Однако, иногда быстрее заменить "дешев" на "недорог", чем выискивать все словоформы: "дешевый, дешевую, дешевые, дешево, дешевая". И для замены "дешев" на "недорог" нужно использовать режим Подстрока.

GIF

Замена по списку регулярных выражений

В SEO-Excel уже есть инструмент который использует регулярные выражение, он называется РегВыр. Он вытаскивает из строки подстроку которая соответствует паттерну регулярного выражения. В отличие от него, Замена по регулярному выражению позволяет найти подстроку которая соответствует паттерну и заменить на то что вам необходимо. Чаще всего необходимо просто удалить, то есть заменить на "ничего".

На гиф выше демонстрируется 2 примера:
1) С помощью регулярного выражение [A-Za-z] производится поиск английских слов и затем удаление их из строки
2) С помощью регулярного выражения \d.*\d производится поиск цифр в строке и затем их удаление. Причем вся соль в том что цифра может быть любая и в любом месте строки.

Как установить?
Инструмент Замена по списку это часть SEO-Excel

11 комментариев к “Замена по списку

  1. Паттерн для поиска email адресов
    [a-z0-9!#$%&’*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&’*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?

  2. Английские слова + цифры
    [A-Za-z\d]

  3. /$
    Заменит последний символ / в строке

  4. Хочу заменить по регулярному выражению (?=<span).*?(?), но замена не срабатывает. В Notepad++ работает.

    Пример одной из ячеек, в которой происходит поиск:

    1. Не вижу примера ячейки, но попробуйте так :
      паттерн

  5. Не могу удалить слова из списка, что делать? На DEL не реагирует

    1. Не велика беда, двойной щелчок левой кнопкой мыши по ячейке и удаляем вручную.
      Или же выделяйте не ячейки а всю строку (квадратик слева от строки). Строки удалять через del можно. Выделите те строки что вам нужно и удалите.

  6. Блин, я недавно скрипт заказал для этой задачи, а у тебя это аж 5 месяцев как в SEO-Excel встроено)

    1. О, привет 🙂
      Думаю что эта версия сео экселя будет последней. Поэтому мож больше не следить за обновлениями.

      1. Здарова= )Ты про последнюю версию рассказывал еще в Январе. А я как раз хотел узнать — нет ли планов делать словарь N-грамм (2-3-4-5-6-7). А не только по униграммам.

        1. Да, давно уже пытаюсь перестать выпускать новые версии. Это оказалось довольно сложно.
          Словарь N-грамм возьму на карандаш. Но времени на программирование все меньше и меньше, так что не обещаю.

Комментирование закрыто, спасибо всем за помощь в разработке программы.