我正在寻找类似的东西这个问题。但是,我想选择列的数量并将其导出为表格。
我的输入是一个 .txt 文件,其中只有一行,其中有多个数字,每个数字之间由不同数量的空格分隔。
32 45 2.65 -845 1 -84 97.236 454 35.78 77.12 948.87
151 -23.5 -787.48 13.005 31
我知道每 x 个数字(每个文件中的 xa 个固定数字)应该有一个间隔。例如,第一行 4 列中的前 4 个数字,第二行中的后 4 个数字等等。
+-------+---------+--------+------+ | 列1 | 列2 | 列3 | 列4 | +-------+---------+--------+------+ | 32 | 45 | 2.65 | -845 | | 1 | -84 | 97.236 | 454 | | 35.78 | 77.12 | 948.87 | 151 | | -23.5 | -787.48 | 13.005 | 31 | +-------+---------+--------+------+
实际上,目标是创建一个具有适当数量列的 .csv 文件。可以在 Notepad ++ 中执行此操作吗?
答案1
- Ctrl+H
- 找什么:
(?:\A|\G)(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+
- 用。。。来代替:
$1,$2,$3,$4\n
- 查看 环绕
- 查看 正则表达式
- 取消选中
. matches newline
- Replace all
解释:
(?: # non capture group
\A # beginning of file
| # OR
\G # Restart from lastmatch position
) # end group
(\S+) # group 1, 1 or more non spaces
\s+ # 1 or more spaces
(\S+) # group 2, 1 or more non spaces
\s+ # 1 or more spaces
(\S+) # group 3, 1 or more non spaces
\s+ # 1 or more spaces
(\S+) # group 4, 1 or more non spaces
\s+ # 1 or more spaces
替代品:
$1,$2,$3,$4 # content of the 4 gcapture groups, comma separated, you can use any kind of separator
\n # line feed, use \r\n for windows end of line
屏幕截图(之前):
屏幕截图(之后):