我正在尝试使用 Notepad++ 将多行合并为一行。我遇到的问题是,在尝试此代码时,我得到了以下结果:
Date/Time:
Sequence:
Event:
Category:
Priority:
Attention:
Alert:
Visibility:
Description:
Codes:
Type:
Location:
Logged by:
寻找:(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)\r\n(.+)
用。。。来代替:
\1\t\2\t\3\t\4\t\5\t\6\t\7\t\8\t\9\t\10\t\11\t\12\t\13\t
结果:
Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Date/Time:0 Date/Time:1 Date/Time:2 Date/Time:3
有人能帮我找到更简单或更快捷的方法吗?我无法突出显示文本并选择连接行。文档中有数千个这样的结果,我正在尝试简化。它总是一组 13。
答案1
选项 1:更改替换内容以使用大括号数字:
编辑:更正替换字符串
\g{1}\t\g{2}\t\g{3}\t\g{4}\t\g{5}\t\g{6}\t\g{7}\t\g{8}\t\g{9}\t\g{10}\t\g{11}\t\g{12}\t\g{13}\t
${1}\t${2}\t${3}\t${4}\t${5}\t${6}\t${7}\t${8}\t${9}\t${10}\t${11}\t${12}\t${13}
选项 2:匹配字符串包含命名组:
(?<a>.+)\r\n(?<b>.+)\r\n(?<c>.+)\r\n(?<d>.+)\r\n(?<e>.+)\r\n(?<f>.+)\r\n(?<g>.+)\r\n(?<h>.+)\r\n(?<i>.+)\r\n(?<j>.+)\r\n(?<k>.+)\r\n(?<l>.+)\r\n(?<m>.+)
并且,更改替换字符串以使用这些组:
编辑:更正替换字符串
\g{a}\t\g{b}\t\g{c}\t\g{d}\t\g{e}\t\g{f}\t\g{g}\t\g{h}\t\g{i}\t\g{j}\t\g{k}\t\g{l}\t\g{m}
$+{a}\t$+{b}\t$+{c}\t$+{d}\t$+{e}\t$+{f}\t$+{g}\t$+{h}\t$+{i}\t$+{j}\t$+{k}\t$+{l}\t$+{m}
您的选择,尽管选项 1 的工作量较少,但选项 2 也可能派上用场。
新笔记:选项 2 中的名称<a>
不限{a}
于一个字符。它们可以是您想要的任何“名称”类型字符串,只要它在字母、数字和下划线的正常范围内即可。不确定其他特殊字符(包括空格)是否有效。避免使用它们是最明智的,以防万一。
答案2
方法 1
搜索 → 替换...
- 查找内容:\r\n
- 替换为:\t
- 环绕:已检查
- 搜索方式:正则表达式
方法 2
编辑 → 空白操作 → EOL 至空间
答案3
如果所有 13 行都以 开头,则可以这样做。它将用制表符Date/Time:
替换所有未跟 的换行符:Date/Time
- Ctrl+H
- 找什么:
\R(?!Date/Time:)
- 用。。。来代替:
\t
- 取消勾选匹配大小写
- 检查环绕
- 检查正则表达式
- Replace all
解释:
\R : any kind of linebreak
(?! : start negative lookahead, make sure we don't have after
Date/Time: : literally
) : end lookahead
三组线的结果:
Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Codes: Type: Location: Logged by:
Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Codes: Type: Location: Logged by:
Date/Time: Sequence: Event: Category: Priority: Attention: Alert: Visibility: Description: Codes: Type: Location: Logged by: