How to convert multiple repeating rows to columns and then from columns back to rows in Notepad++
我在一列中有多个(+/- 2500)重复行,我需要转换为一组固定的列,这些列匹配行的重复,即ABCDE-ABCDE,在列模式下进行编辑,然后转换回行。 这是我的数据的简略示例:
1 2 3 4 5 6 7 8 9 10
| A
B
C
D
E
A
B
C
D
E |
我希望它是这样的:
然后转换回行。
-
点击此链接:stackoverflow.com/questions/3961217/
-
你需要的是一个json格式化程序插件。这是一个类似的问题
-
好吧,JSMin会将上面的整个字符串重新格式化为[{"E":{"T","H","U","L","D","N"},"S"},{"E":{"T","H","U","L","D","N"},"S"},](全部在一行)。
-
数据已被修改为仅显示简单文本。
-
我知道这可以很容易地在Excel中完成,但想知道是否可以在Notepad ++中完成它并且我不熟悉使用json。
-
编辑后,它更容易:^(.+)
+(.+)
+(.+)
+(.+)
+(.+) - > $1\t$2\t$3\t$4\t$5
-
谢谢Wiktor。我对所有这些都是相当新的,我认为这将放在替换字段中,但我不知道在搜索字段中放什么。
-
找到:^(.+)
+(.+)
+(.+)
+(.+)
+(.+)。
-
替换为:$1\t$2\t$3\t$4\t$5
-
它有效吗?
-
再次感谢Wiktor。它确实工作得很好。
-
它将单列转换为五列。现在我只需将五列转换回一列。
-
很好,我发布了一个答案,请考虑接受它,因为它适合你。反过来又是另一个问题,请将其与输入字符串,所需输出,您尝试的模式以及简要说明为什么不起作用发布。
-
解决了。谢谢Wiktor。我将发布一个关于如何扭转这个过程的不同问题。
编辑后,答案很简单:您需要捕获5个后续行,并使用制表符替换它们之间的换行符。
找到:^(.+)
+(.+)
+(.+)
+(.+)
+(.+)
替换为:$1\t$2\t$3\t$4\t$5
其中^匹配行开头,(.+)匹配并将一个非空行捕获到一个组中(如果要考虑空行,则将+替换为*),
+匹配一个或多个换行符 (无论是CRLF,CR还是LF序列)。
在替换模式中,$n是对相应组捕获值的反向引用。