Я пытаюсь изменить положение каждой строки в файле .txt следующим образом ниже. Однако я понятия не имею, как это сделать. Это возможно с Notepad ++?
От
apple|apple123@aol.com|orange
celery|celery@aol.com|cabbage
sandwich|sandwich@aol.com|turkey
К
яблоку…
апельсин… apple123@aol.com celery | cabbage|celery@aol.com
sandwich|turkey|sandwich@aol.com
Ответы:
Изменение порядка столбцов в текстовом файле
Да, это возможно в рамках vanilla
Notepad++
, хотя, как уже было отмечено, существуют также плагины, которые будут это делать. Лучшим (более надежным) подходом может быть использование некоторых инструментов обработки текста из командной строки, но если вам нужно быстрое и грязное решение, вы можете найти его ниже:Предполагая, что ваш точный ввод (
col1|col2|col3
, разделитель трубы, без трубыcol2
):Найти :
(.*?)\|(.*?)\|(.*)
Заменить :
\1|\3|\2
работает для меня здесь
Notepad++
, построен в январе 2015 года. Несколько грубо, но это работает.Объяснение:
.*
- соответствует любому символу (кроме новой строки), от нуля до неограниченного времени.*?
- соответствует любому символу (кроме новой строки), как указано выше, не жадным образом (т.е. соответствует как можно меньше )(.*)
- простые скобки обозначают группу захвата выше (для использования в Replace, например\1
,\2
и\3
т. д.)\|
-\
избегает pipe (|
), чтобы соответствовать ему буквально\1|\3|\2
- вывести первую группу соответствия, трубу, третью группу соответствия, трубу, вторую группу соответствияисточник
.*
не жадных, т. Е..*?
Избегать большого возврата??
символ, кажется глупым.(.*?)|(.*?)|(.*)
работает для меня.