正则表达式搜索和替换以摆脱换行符

时间:2018-05-01 12:27:53

标签: regex notepad++

我有一个包含以下文字的文字文件。此文件中的许多行都有line break

我需要使用退格键并使用前一行文本连接到以your开头的行

            1023456;jjdss.D.djDJ;2345;for your account;BR
            2345678;jjdss.D.djDJ;2345;for your account;BR
            4567891;jjdss.D.djDJ;2345;for
             your account;BR
            2345678;jjdss.D.djDJ;2345;for your account;BR
            1023456;jjdss.D.djDJ;2345;for your account;BR
            4567891;jjdss.D.djDJ;2345;for
             your account;BR
            4567891;jjdss.D.djDJ;2345;for
             your account;BR

期望的结果

              1023456;jjdss.D.djDJ;2345;for your account;BR
              2345678;jjdss.D.djDJ;2345;for your account;BR
              4567891;jjdss.D.djDJ;2345;for your account;BR
              2345678;jjdss.D.djDJ;2345;for your account;BR
              1023456;jjdss.D.djDJ;2345;for your account;BR
              4567891;jjdss.D.djDJ;2345;for your account;BR
              4567891;jjdss.D.djDJ;2345;for your account;BR

我已经使用notepad++宏来执行此操作,但结果是一行文本,文件中包含所有1000行。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

如果你想使用一个正则表达式,我会通过捕获所有'for'实例来接近它,后面跟一个换行符或回车符,并用'for'替换它们。

例如,如果我在JavaScript中处理您的问题,我将使用以下内容:

var str = `1023456;jjdss.D.djDJ;2345;for your account;BR
            2345678;jjdss.D.djDJ;2345;for your account;BR
            4567891;jjdss.D.djDJ;2345;for
             your account;BR
            2345678;jjdss.D.djDJ;2345;for your account;BR
            1023456;jjdss.D.djDJ;2345;for your account;BR
            4567891;jjdss.D.djDJ;2345;for
             your account;BR
            4567891;jjdss.D.djDJ;2345;for
             your account;BR`;

var regex = /(for(\n|\r))/gm;

var res = str.replace(regex, 'for ');

这将导致:

1023456;jjdss.D.djDJ;2345;for your account;BR
2345678;jjdss.D.djDJ;2345;for your account;BR
4567891;jjdss.D.djDJ;2345;for your account;BR
2345678;jjdss.D.djDJ;2345;for your account;BR
1023456;jjdss.D.djDJ;2345;for your account;BR
4567891;jjdss.D.djDJ;2345;for your account;BR
4567891;jjdss.D.djDJ;2345;for your account;BR

我创建了一个fiddle来说明这一点。

如果您希望获得更多正则表达式方面的经验,那么有一些很好的答案可以帮助您,例如this one可以很好地解释它们以及链接到一些有用的资源。