Поиск и замена текста без поломки: целые слова, регистр и регулярные выражения
Чтобы безопасно найти и заменить текст, посмотрите на совпадения до того, как копировать результат. Обычная замена меняет все вхождения, в том числе внутри более длинных слов, поэтому для имён и коротких слов включайте поиск целых слов и проверяйте, что число совпадений такое, какое вы ожидали.
Поиск и заменаЗаменить слово во всём текстеСделать бесплатноПочему обычная замена ломает текст
Возьмите предложение "The category cat sat" и замените cat на dog. Обычная замена изменит каждое сочетание букв c, a, t, включая начало слова category, и результат будет "The dogegory dog sat". Инструмент сделал именно то, что требовало правило: заменил каждое совпадение.
Если отмечено «Только целые слова», совпадение не может находиться внутри более длинного слова. Та же замена даст "The category dog sat". Буквы и цифры любого алфавита считаются частями слова, поэтому caf не совпадёт внутри café.
Поиск целых слов — правильный вариант по умолчанию для имён, коротких слов и сокращений. Отключайте его, когда нужны частичные совпадения, например при замене префикса в списке артикулов.
Учитывать регистр
По умолчанию регистр не учитывается, поэтому Cat, cat и CAT совпадут. Это удобно, когда одно слово набрано в разном регистре, но может задеть слово, которое нужно сохранить. Имя Bill и обычное слово bill совпали бы оба.
Включайте «Учитывать регистр», когда заглавная буква меняет смысл слова. Чтобы увидеть, какие слова правило изменит, используйте подсвеченный предпросмотр.
Регулярные выражения и группы
Когда включён Regex, поле «Найти» читается как шаблон, а не как обычный текст. Круглые скобки выделяют часть совпадения, а в поле «Заменить на» можно использовать захваченный текст как $1, $2 и так далее. Если найти (\w+)@(\w+) и заменить на $2 at $1, текст ana@site станет site at ana. Код $& означает всё совпадение целиком.
Специальные символы работают так же. Вне режима Regex точка — это просто точка. В режиме Regex точка совпадает с любым одним символом, поэтому шаблон 1.5 совпадёт и с 1x5. Если вы не уверены, есть ли в тексте специальные символы, выключите Regex и введите текст точно. Примеры готовых шаблонов см. в статье регулярные выражения в поиске и замене.
Знак доллара в поле «Заменить на»
Вне режима Regex поле «Заменить на» используется ровно так, как вы его набрали, поэтому $5 вставится как $5. При включённом Regex знак доллара имеет значение: $1 означает группу, $& — всё совпадение, а $$ даёт один знак доллара. Чтобы вставить текст $5 при включённом Regex, напишите $$5.
Переносы строк и табуляция
Чтобы вставить в поле «Заменить на» перенос строки или табуляцию, включите Read \n and \t in Replace. Тогда эти два кода вставят перенос строки и табуляцию. Чтобы найти перенос строки, включите Regex и введите \n в поле «Найти»: в обычном поиске \n воспринимается как два символа. Если текст скопирован из PDF или веб-страницы с разорванными строками, сначала исправьте их с помощью Исправить вставленный текст.
Проверьте перед копированием
Перед тем как копировать результат, посмотрите на четыре вещи:
- Число совпадений. Если вы ждали 12 изменений, а инструмент показывает 40, скорее всего, какое-то слово совпадает внутри другого слова.
- Подсвеченный предпросмотр. Он отмечает все совпадения в исходном тексте, в том числе те, которые вам не нужны.
- Результат. Читайте предложения вокруг каждого изменения, а не только изменённое слово.
- Исходник. Сохраните исходный текст. Инструмент не ведёт историю, поэтому оригинал — ваш единственный способ отменить изменения.
Для длинного документа вставьте старую и новую версии в Сравнение текстов. Там будут показаны все изменённые строки, а внутри каждой строки отмечены изменённые слова.
Как это сделать в fixmint
- Вставьте текст в поле «Ваш текст».
- Введите слово для замены в поле «Найти», а новое слово в поле «Заменить на». Оставьте «Заменить на» пустым, чтобы удалить совпадения.
- Отметьте «Только целые слова» и «Учитывать регистр», если заглавные буквы меняют смысл. Для обычных слов оставьте Regex выключенным.
- Проверьте число совпадений и подсвеченные совпадения, затем нажмите «Скопировать результат» или «Скачать .txt».
Особые случаи
- Пустое поле «Заменить на». Совпадения удаляются. Это удобно для удаления лишнего слова, но сначала проверьте число совпадений.
- Замена, которая содержит искомое. Замена выполняется один раз по исходному тексту. Замена a на aa в слове banana даст baanaanaa, и зацикливания не будет.
- Неверные шаблоны. Незакрытая группа, например
(abc, отмечается коротким сообщением, и результат не показывается, пока шаблон не станет верным. - Очень много совпадений. В предпросмотре подсвечиваются первые 5 000 совпадений, но заменяются все совпадения.
Короткие ответы
Почему замена изменила слова внутри других слов?
Был выключен «Только целые слова». Включите его и сверьте число совпадений с тем, что вы ожидали.
Почему точка совпадает не с тем текстом?
Включён Regex, поэтому точка совпадает с любым символом. Выключите Regex для обычного текста или напишите \., чтобы найти настоящую точку.
Как найти перенос строки?
Включите Regex и введите \n в поле «Найти».
Переведено с помощью ИИ с Английский оригинал.
Комментарии
Комментариев пока нет. Будьте первым.


