我有一个以下格式的文件
dhdh
|jgfgf
hhgfh
我想|
在新行中找到(管道)符号并将其替换为退格键
为了找到这个,我的正则表达式如下
^[|]{1}[a-zA-Z]
它运行完美,但我无法用上一行末尾的退格键替换它,如下所示。
dhdh|jgfgf
hhgfh
第二种情况仅适用于文本
^[a-zA-Z]
为此,期望的结果是
dhdh|jgfgfhhgfh
请告诉我该怎么做?
答案1
您可以通过删除(非打印)字符(通常是 CRLF(回车符 + 换行符)来查找/替换换行符,具体取决于创建文件内容的操作系统/程序。如果您打开“显示所有字符”,Notepad++ 将显示非打印字符。要在 notepad++ 中找到它,您可以使用\r\n
(使用扩展搜索模式或正则表达式)。
在场景 1a您应该替换/删除所有换行符,后跟竖线 ( \r\n|
):
- 寻找:
\r\n|
- 替换为:(
留空)
这将改变以下文本:
dhdh
|jgfgf
hhgfh
至此文本:
dhdhjgfgf
hhgfh
在场景 1b\r\n|
您应该将所有以竖线 ( )结尾的换行符替换为竖线 ( |
):
- 寻找:
\r\n|
- 用。。。来代替:
|
这将改变以下文本:
dhdh
|jgfgf
hhgfh
至此文本:
dhdh|jgfgf
hhgfh
在场景 2a(从您的问题来看)您应该替换/删除所有换行符(\r\n
):
- 寻找:
\r\n
- 替换为:(
一个空格字符)
这将改变以下文本:
dhdh
|jgfgf
hhgfh
至此文本:
dhdh| jgfgf hhgfh
在场景 2b(从您的评论中)您应该替换/删除所有换行符(\r\n
):
- 寻找:
\r\n
- 替换为:(
留空)
这将改变以下文本:
dhdh
|jgfgf
hhgfh
至此文本:
dhdh|jgfgfhhgfh
笔记:
使用 RegEx 代替“扩展搜索”,您可以使用\R
(注意大写)代替\r\n
(查看完整RegEx 指南), 谢谢托托指出这一点!