如何在没有新行分隔符的文本文件中以固定的(每 13 个)分隔符间隔插入新行分隔符

如何在没有新行分隔符的文本文件中以固定的(每 13 个)分隔符间隔插入新行分隔符

我有一个包含一些原始数据的 TXT 文件。我需要将它们转换为 Excel,但我的尝试没有成功。该文件有数百个分隔符(分隔符),这有助于我转换为 Excel,但所有数据都位于一行中。我的数据没有任何用于换行的标记/分隔符。我知道数据有 12 列。因此,在第 13 个分隔符上应该有一个新行,数据可以转到新行。

我浏览过很多关于相同问题的网站,但没有找到相同的情况。在这个网站上,我找到了发现很少的相似性,但用户没有分隔符在数据中。所以对我来说没用。我该怎么办?

答案1

我将使用 Notepad++ 将每 13 个分隔符替换为换行符。

假设您的分隔符是@

  1. 使用 Notepad++ 打开 .txt 文件
  2. 搜索->代替...
  3. 找什么: ((?:.*?\@){12}.*?)\@
    用。。。来代替: $1\n
    查看环绕
    搜索模式=正则表达式
    全部替换

注意:如果您的分隔符不是@,请在步骤 3 中的模式中将 替换@为您的分隔符。

答案2

类似(ZygD:感谢 RE!)但使用 perl 而不是 NotePad++

<ifile perl -ne " s/((?:.@){12}。?)@/$1\n/g ; 打印; " >rfile

ifile 是您的输入文件

  rfile is results

  the "@" is your separator - change to fit your case

  This matches the requested 13 (12+1) 
      

有人会尝试 PowerShell 吗?

相关内容