将每n个换行符替换为文件中的选项卡

时间:2014-09-02 11:15:27

标签: regex replace notepad++ lines ultraedit

是否可以通过正则表达式搜索/替换将每4个中断线替换为UE或NPP中的选项卡?

之前的文件:

    #12
    ab
    cde
    ef
    #34
    ghij
    ijk
    kl
    #5678
    uv
    w
    xyz
...

应该在更换后

#12 ^t ab ^t cde ^t ef
#34 ^t ghij  ^t ijk ^t kl
#5678 ^t uv ^t w  ^t xyz

2 个答案:

答案 0 :(得分:5)

这是一种完成工作的方法:

找到:(.+)\R(.+)\R(.+)\R(.+\R)?
替换为:$1\t$2\t$3\t$4

检查Regular Expression
不要检查dot matches newline
然后点击Replace All

<强>解释

(.+)\R   : Capture in group 1 everything until a line break (excluded)
(.+)\R   : Capture in group 2 everything until a line break (excluded)
(.+)\R   : Capture in group 3 everything until a line break (excluded)
(.+\R)?  : Capture in group 4 everything until a line break (included), optional

\R代表任何类型的换行符(即。\r\n\r\n

答案 1 :(得分:1)

[\n\r](?!#)会的  并替换为\t

在使用Windows编码时,如果没有后跟#by选项卡,它将替换crlf。 (?!#)是一个负向前瞻,排除任何\ n或\ r后跟#(在下一行)

请注意,它会在选项卡前留一个空格,如果您真的希望每个字段之间只有标签,则可能需要更改编码才能只有\ n或\ r(linux或mac)。