Когда я выделяю какой-либо текст в столбце, замена / выделение становится серым. Как заменить текст только внутри столбца выделенного текста в Notepad++?
2 ответа
Это раздражающее ограничение notepad++, но есть несколько способов решить эту проблему. Во-первых, если вы знаете ограничения столбцов, которые вы хотите заменить в словах 4 и 10 вхождениями слова "собака" на "кошка", то сделайте следующее:
RE строка поиска: ^(.{3})(.{0,3})dog(.{0,3})(.*)$
Строка замены RE: \1\2cat\3\4
Чтобы сломать это:
^ - Must match from the beginning of the line
(.{3}) - match any three characters from the line
(.{0,3}) - match 0-3 characters from the line
dog - match "dog"
(.{0,3}) - match 0-3 characters from the line
(.*) - match everything else
$ - up to the end of the line
Предостережения к этому подходу. Сначала убедитесь, что у вас есть . matches \n
сняты, это может привести к путанице.
Смешивание вкладок и пробелов не будет работать, так как регулярные выражения видят вкладки как отдельные символы.
Другое решение, которое будет работать со смешанными вкладками и пробелами. Столбец - выберите последний столбец, в котором вы хотите выполнить поиск. Затем введите символ, которого нет в файле, например ' |
!
».
Столбец выберите первый столбец, в котором вы хотите искать. Сделайте то же самое, что и раньше (это может быть тот же персонаж или другой).
Теперь ищите ваш текст в этих границах.
RE строка поиска: |(.*)dog(.*)|
RE замена строки: |\1cat\2|
Вы хотите оставить свои символы маркера, так как вы, вероятно, не будете соответствовать каждой строке в вашем файле, и вы захотите удалить все из них на втором шаге (либо с выбором и удалением столбца, либо с другим поиском / заменой).
Я использую диалоговое окно «Найти / заменить», которое появляется при вводе Ctrl-r. В диалоговом окне «Найти / заменить» есть поле для ввода номеров столбцов. Это позволяет вам ограничить поиск / замену этими столбцами в файле. Нормальное и регулярное выражение Find / Replace поддерживаются. Я не мог найти, как сделать это Найти / Заменить через диалог Ctrl-h.