4

Я хочу удалить столбец в середине текстового файла в блокноте ++. Длина файла составляет примерно 50K + строк, поэтому я предпочитаю не нажимать клавишу, пока курсор медленно перемещается по строкам.

4 ответа4

3

Пытаться:

Alt + Shift + левый клик

Он должен нарисовать прямоугольник выбора, может работать для вас.

2

Я предполагаю, что у вас есть 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]

Возможны и другие регулярные выражения для достижения того же результата.

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

1

Я не верю, что есть способ сделать это в Notepad++ без загрузки / установки плагина для него. Если ваш файл с разделителями, возможно, вы могли бы загрузить его в Excel или аналогичное программное обеспечение и таким образом удалить столбец?

Редактировать: я просто подумал об интересном решении. Вы можете изменить скорость прокрутки строки в Windows или в любой другой операционной системе, перезапустить Notepad++, а затем либо прокрутить мышь, либо использовать клавиши со стрелками. Я не знаю, насколько это изменится, но, возможно, оно того стоит.

-1

Вы можете работать в режиме столбца в Notepad ++. Параметр находится в меню «Правка» - щелкнув по нему, вы получите правильное сочетание клавиш. Я нажимаю и удерживаю клавишу Alt, затем выбираю данные, которые хочу удалить / отредактировать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .