Я хочу удалить столбец в середине текстового файла в блокноте ++. Длина файла составляет примерно 50K + строк, поэтому я предпочитаю не нажимать клавишу, пока курсор медленно перемещается по строкам.
4 ответа
Пытаться:
Alt + Shift + левый клик
Он должен нарисовать прямоугольник выбора, может работать для вас.
Я предполагаю, что у вас есть Notepad++ с установленным плагином TextFX v0.26, и вы выбираете "Регулярное выражение" в диалоговом окне "Заменить".
Если ваши данные имеют формат
col1 col2 col3 col4
col1 col2 col3 col4
col1 col2 col3 col4
col1 col2 col3 col4
где столбцы не имеют пробелов и разделены одним пробелом, то, скажем, вы хотите удалить третий столбец: вы можете искать (.*?) (.*?) (?:.*?)( .*)
и замените на $1 $2$3
(пробелы требуются), чтобы получить
col1 col2 col4
col1 col2 col4
col1 col2 col4
col1 col2 col4
regex101.com делает более понятное объяснение поискового регулярного выражения, чем я бы:
/(.*?) (.*?) (?:.*?)( .*)/
1st Capturing group (.*?)
.*? matches any character (except newline)
Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
matches the character literally
2nd Capturing group (.*?)
.*? matches any character (except newline)
Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
matches the character literally
(?:.*?) Non-capturing group
.*? matches any character (except newline)
Quantifier: *? Between zero and unlimited times, as few times as possible, expanding as needed [lazy]
3rd Capturing group ( .*)
matches the character literally
.* matches any character (except newline)
Quantifier: * Between zero and unlimited times, as many times as possible, giving back as needed [greedy]
Возможны и другие регулярные выражения для достижения того же результата.
Если ваши столбцы имеют фиксированную ширину (и содержат пробелы) или разделены другим символом, вам придется изменить поисковое выражение и замену, но без примеров данных и требуемого результата я не могу дать точный ответ.
Я не верю, что есть способ сделать это в Notepad++ без загрузки / установки плагина для него. Если ваш файл с разделителями, возможно, вы могли бы загрузить его в Excel или аналогичное программное обеспечение и таким образом удалить столбец?
Редактировать: я просто подумал об интересном решении. Вы можете изменить скорость прокрутки строки в Windows или в любой другой операционной системе, перезапустить Notepad++, а затем либо прокрутить мышь, либо использовать клавиши со стрелками. Я не знаю, насколько это изменится, но, возможно, оно того стоит.
Вы можете работать в режиме столбца в Notepad ++. Параметр находится в меню «Правка» - щелкнув по нему, вы получите правильное сочетание клавиш. Я нажимаю и удерживаю клавишу Alt, затем выбираю данные, которые хочу удалить / отредактировать.