如何在 notepad++ 中将多行转换为多列

如何在 notepad++ 中将多行转换为多列

假设我在 Notepad++ 中有这个:

CHARGE_ID   LAST_MODIFIED   CHARGE  PROPORTION  CURRENCY_ID ACCOUNT_ID
2194703831  28-06-2016 11:44:02 2.49    1   95000060    590511

我想将其转换如下:

CHARGE_ID: 2194703831
LAST_MODIFIED: 28-06-2016 11:44:02
CHARGE: 2.49
PROPORTION: 1
CURRENCY_ID: 95000060
ACCOUNT_ID: 590511

答案1

您需要为工作选择正确的工具。使用 Excel 来帮助您处理文本文件。在 Excel 中:

  1. 使用文本导入向导(菜单数据>来自文本)将值导入单元格。

  2. 选择导入的单元格(作为矩形选择)并使用复制

  3. 使用特殊粘贴转置翻转行和列的选项(这是您所要求的)。

  4. 将结果粘贴回文本文件。

答案2

使用正则表达式 (REGEX)

  1. 打开“查找”(CTRL+F)
  2. 确保在“搜索模式”中选中“正则表达式”[o]
  3. 将以下行粘贴到“查找”框中
^([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\r\n^([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\t([^\t]+)\r\n\r\n
  1. 将以下行粘贴到“替换”框中
$1: $7\r\n$2: $8\r\n$3: $9\r\n$4: $10\r\n$5: $11\r\n$6: $12\r\n \r\n

 

^        = From the start of line
([^\t]+) = All those which are not a TAB char.
\t       = Followed by a TAB char.
\r\n     = New Line / Linefeed / End of line char  
$1,$2....= Refers to the position of ([^\t]+) in the FIND

笔记:\r\n\r\n在 REPLACE 的末尾添加了额外的内容,因为我认为您可能想要分隔多组记录。

相关内容