Переупорядочение столбцов в текстовом файле
Да, это возможно в vanilla Notepad++
, хотя, как уже было отмечено, существуют также плагины, которые будут это делать. Лучшим (более надежным) подходом может быть использование некоторых инструментов обработки текста из командной строки, но если вам нужно быстрое и грязное решение, вы можете найти его ниже:
Предполагая, что ваш точный ввод (col1|col2|col3
, разделитель трубы, нет трубы в col2
):
Найти: (.*?)\|(.*?)\|(.*)
Заменить: \1|\3|\2
у меня работает здесь, в Notepad++
, построен в январе 2015 года. Несколько грубо, но это работает.
Объяснение:
.*
- соответствует любому символу (кроме новой строки), от нуля до неограниченного времени
.*?
- соответствует любому символу (кроме новой строки), как указано выше, не жадным образом (т.е. соответствует как можно меньше)
(.*)
- простые скобки обозначают группу захвата выше (для использования в Replace, например, \1
, \2
, \3
т. д.)
\|
- \
избегает трубы (|
), чтобы соответствовать этому буквально
\1|\3|\2
- вывести 1-ю подходящую группу, канал, третью подходящую группу, канал, вторую подходящую группу