Описание
В Excel нет стандартного инструмента для массовой замены по списку. Поэтому я дописал этот маленький, но нужный инструмент и включил его в пакет SEO-Excel. Его интерфейс интуитивно понятен, но будьте осторожны! Он перезапишет вам лист поверх старых данных и отменить это через ctrl+z будет нельзя. У инструмента 3 режима работы :
- Замена слов
- Замена подстрок
- Замена по регулярному выражению
Плюс, нужно указать где вы хотите произвести замену: в выделенных ячейках (активный диапазон), или в столбце целиком. На гифке ниже это и демонстрируется.
Замена целых слов или замена подстрок?
Тут все очень просто. Представим, что мы хотим заменить слово "ключ" на слово "замок".
Если выбран режим Целые слова то ячейка Excel с содержанием "ключница" после замены останется без изменений.
Если выбран режим Подстрока то "ключница" превратится в "замокница", что согласитесь, может не совпасть с вашими ожиданиями, поэтому и существует режим Целые слова. Однако, иногда быстрее заменить "дешев" на "недорог", чем выискивать все словоформы: "дешевый, дешевую, дешевые, дешево, дешевая". И для замены "дешев" на "недорог" нужно использовать режим Подстрока.
Замена по списку регулярных выражений
В SEO-Excel уже есть инструмент который использует регулярные выражение, он называется РегВыр. Он вытаскивает из строки подстроку которая соответствует паттерну регулярного выражения. В отличие от него, Замена по регулярному выражению позволяет найти подстроку которая соответствует паттерну и заменить на то что вам необходимо. Чаще всего необходимо просто удалить, то есть заменить на "ничего".
На гиф выше демонстрируется 2 примера:
1) С помощью регулярного выражение [A-Za-z] производится поиск английских слов и затем удаление их из строки
2) С помощью регулярного выражения \d.*\d производится поиск цифр в строке и затем их удаление. Причем вся соль в том что цифра может быть любая и в любом месте строки.
Паттерн для поиска 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])?
Английские слова + цифры
[A-Za-z\d]
/$
Заменит последний символ / в строке
Хочу заменить по регулярному выражению (?=<span).*?(?), но замена не срабатывает. В Notepad++ работает.
Пример одной из ячеек, в которой происходит поиск:
Не вижу примера ячейки, но попробуйте так :
Не могу удалить слова из списка, что делать? На DEL не реагирует
Не велика беда, двойной щелчок левой кнопкой мыши по ячейке и удаляем вручную.
Или же выделяйте не ячейки а всю строку (квадратик слева от строки). Строки удалять через del можно. Выделите те строки что вам нужно и удалите.
Блин, я недавно скрипт заказал для этой задачи, а у тебя это аж 5 месяцев как в SEO-Excel встроено)
О, привет 🙂
Думаю что эта версия сео экселя будет последней. Поэтому мож больше не следить за обновлениями.
Здарова= )Ты про последнюю версию рассказывал еще в Январе. А я как раз хотел узнать — нет ли планов делать словарь N-грамм (2-3-4-5-6-7). А не только по униграммам.
Да, давно уже пытаюсь перестать выпускать новые версии. Это оказалось довольно сложно.
Словарь N-грамм возьму на карандаш. Но времени на программирование все меньше и меньше, так что не обещаю.