根据字符进行分行

根据字符进行分行

我正在尝试解决下面的问题,但却找不到有效的方法。

我有一个很大的文本文件,其中显示两行作为示例:

TEST ABCXYZ:1234  PNT = 543210
TEST ABCXYZ:1256  PNT = 543233

我希望最终

TEST ABCXYZ:1234
PNT = 543210
TEST ABCXYZ:1256
PNT = 543233

因此,我尝试过在 spaceP 上进行分隔,但总是将 P 带到下一行。我也尝试过宏,但不熟悉该方法。

答案1

假设逐行以下列内容结尾,例如PNT = 543210您将执行以下步骤(快速而肮脏的解决方案,首先保存文件的副本):

  • Ctrl+H
  • 找什么:(PNT = [0-9]{6}$)
  • 用。。。来代替:\r\n\r\n\1\r\n
  • 搜索方式:正则表达式
  • 点击Replace All(风险自负!)

结果是:

在此处输入图片描述

请注意 - MacOS 默认使用单个回车符 ( <CR>),表示为\r。Unix 使用单个换行符 ( <LF>) \n。Windows 两者同时使用,形成 ( <CRLF>) 组合,\r\n

如果有必要,您必须根据您的操作系统和要求进行调整。

如果要删除 PNT 之前的空格,可以使用以下替代方法:

  • 找什么:(\ \ )(PNT = [0-9]{6}$)
  • 用。。。来代替:\r\n\r\n\2\r\n

答案2

  • Ctrl+H
  • 找什么:\h+(?=PNT\h+=\h+\d+)
  • 替换为:\n\r\n取决于平台
  • 打钩 环绕
  • 选择 正则表达式
  • Replace all

解释:

\h+             # 1 or more horizontal spaces
(?=             # positive lookahead, make sure we have after:
    PNT             # literally
    \h+=\h+         # equal sign suround by spaces
    \d+             # 1 or more digits
)               # end lookahead

截图(之前):

在此处输入图片描述

截图(之后):

在此处输入图片描述

相关内容