提前道歉。我之前已经问过我的问题,也回答了问题(Regex how to match all end of line except blank line?)。我认为答案并不完整,遗漏了一些明显的部分(遗憾的是对我来说不太明显)。与OP完全一样,我想将所有连续的非空行与制表符组合在一起。
输入:
AAAAAA
BBBBBB
CCCCCC
DDDDDD
EEEEEE
FFFFFF
GGGGGG
HHHHHH
预期产出:
AAAAAA BBBBBB CCCCCC
DDDDDD EEEEEE
FFFFFF GGGGGG HHHHHH
/(?<!\s)$/mg
和(?<=[^\s])$
已被建议使用正则表达式,但替换字符串应该是什么?
答案 0 :(得分:1)
您需要使用
查找内容:\S\h*\K\R(?!\R)
替换为:\t
正则表达式: ON
<强>详情:
\S
- 非空白字符(检测到非空行)\h*
- 0+个水平空格(可能该行以某些非垂直空格结尾)\K
- 匹配重置操作符,丢弃目前为止匹配的文本\R
- 换行符(CR,LF或CRLF)(?!\R)
- 没有跟着另一个换行符(避免加入空行!)。查看截图结果:
答案 1 :(得分:0)
您可以使用
armv7k
作为查找内容部分和(\S)\R
作为替换为 。
<强>解释强>
\1\t
表示NotWhitespace,\S
表示lineending \R
\1
这是制表符可以摆脱不受欢迎的换行符