如何根据 space 分隔符的数量拆分文本文件 - Notepad++

How to split text file based on number of space delimiters - Notepad++

第一次在这里提问,如果需要更多信息,请告诉我。

这是我试图解析成多行的数据示例: 0 0 159 190 145 20 0 1 159 166 127 21 0 2 159 144 111 22 0 3 166 175 126 19 0 4 168 188 132 17 0 5 169 191 133 18 0 6 116 163 1918

应在一行中返回前 6 个值,然后在第二行中返回接下来的 6 个值,依此类推。

我有一个以 TXT 格式保存的 XYZRGB 点云文件,所有数据都在一行中。每个字段 (x,y,z,r,g,b) 由 space 分隔。整个点云文本文件保存在单个文本行中。我需要在每 6 个 space 分隔符处将此文件拆分为多行。由于每个字段中的字符数不同,我不能使用字符数作为分割点。我目前正在 Notepad++ 中尝试这个,但我可以使用各种程序。

提前感谢您提供的任何见解。

使用 notepad++,按 ctrl+h 或调出搜索>替换 window。

在 'find what' 文本框中输入 ^((?:\S+\s+){6})

并在 'replace with' 文本框中输入 \n

确保搜索模式设置为 'Regular Expression' 然后点击 'Replace All'

它将找到六个连续的非space字符,后跟连续的space字符,并将其替换为加一个换行符。

使用此方法,您提供的示例:

0 0 159 190 145 20 0 1 159 166 127 21 0 2 159 144 111 22 0 3 166 175 126 19 0 4 168 188 132 17 0 5 169 191 133 18 0 6 168 191 134 18

变为:

0 0 159 190 145 20 
0 1 159 166 127 21 
0 2 159 144 111 22 
0 3 166 175 126 19 
0 4 168 188 132 17 
0 5 169 191 133 18 
0 6 168 191 134 18

很抱歉,除了这些令人愉悦的耳垢颜色,我无法推荐任何替代品!