Notepad ++ CSV拆分和删除字段

时间:2014-04-09 23:45:37

标签: regex csv notepad++ multiple-columns

我在CSV文件中有一组数据,我想操作它,以便我只使用其中的一些值。例如我:

1,2,3,4,5,6
asd,sdf,dfg,fgh,ghj,hjk
asd,sdf,dfg,fgh,ghj,hjk
asd,sdf,dfg,fgh,ghj,hjk
asd,sdf,dfg,fgh,ghj,hjk
asd,sdf,dfg,fgh,ghj,hjk

我想要做的只是使用几个字段,可能使用不同的顺序

1,4,3

我知道notepad ++可以使用\ 1,\ 2等分解值并重新排列它们,但我不知道如何为此做到这一点。

2 个答案:

答案 0 :(得分:8)

Notepad ++并不是一个真正的电子表格,这是导入.CSV后进行此类编辑的最简单方法。但它确实有一些有限的列编辑功能,这使得这个可行。需要两个步骤,概述如下。

1)排列文字:

  • a)突出显示所有文字。
  • b)选择TextFX菜单
  • c)然后是TextFX Edit子菜单,
  • d)然后"通过(,)"排列多行。 选项。

现在,您将在逗号上对齐所有列。

2)删除单个栏目:

  • a)确保没有突出显示任何文字。
  • b)按住[alt]键,同时用鼠标选择要删除的列。
  • c)按删除键删除您突出显示的内容。

以上假设您已安装TextFX插件。如果我没记错,这是标准配置,但如果没有,您可以轻松找到它并从插件管理器中添加它。

以下是使用alt键和鼠标选择对齐列的示例,取自官方Notepad ++站点: http://notepad-plus-plus.org/features/column-mode-editing.html

答案 1 :(得分:3)

此正则表达式将匹配每行的6组0+非逗号字符:

^([^,]*),([^,]*),([^,]*),([^,]*),([^,]*),([^,]*)$

然后您可以替换为您捕获的群组,如下所示:

\1,\4,\3

RegEx101


旁注:

如果我错了,有人会纠正我。我一直试图将其减少到只有一个重复捕获组的易读性,但我似乎无法使其工作,因为它只将其视为一个捕获组:

^([^,]*,?){6}$