在 Notepad++ 中,如何将长行拆分成特定数量的行?

在 Notepad++ 中,如何将长行拆分成特定数量的行?

我正在寻找类似的东西这个问题。但是,我想选择列的数量并将其导出为表格。

我的输入是一个 .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

屏幕截图(之前):

在此处输入图片描述

屏幕截图(之后):

在此处输入图片描述

相关内容