【问题标题】:Join two lines into one line using notepad++使用记事本++将两行合并为一行
【发布时间】:2019-11-26 12:20:13
【问题描述】:

我正在尝试从 .txt 文件创建 csv 文件,现在我卡在这一点上

示例文本文件

http://website1.com/imageartist.png,Artis Name,Pop Rock
https://website2/music/mymusicpop.mp3

https://website43.com/albumimages.png,Artis Name,K-Pop
http://website7/music/mymusickpop.mp3

https://website23.com/anotherimage.png,Artis Name,Heavy Metal
www.website5/music/mymusicmetal.mp3

www.website63.com/singerimage.png,Artis Name,Jazz
https.website5/music/mymusicjazz <-some lines have no .mp3 extension

我想要这样

http://website1.com/imageartist.png,Artis Name,Pop Rock,https://website2/music/mymusicpop.mp3

https://website43.com/albumimages.png,Artis Name,K-Pop,http://website7/music/mymusickpop.mp3

https://website23.com/anotherimage.png,Artis Name,Heavy Metal,www.website5/music/mymusicmetal.mp3

www.website63.com/singerimage.png,Artis Name,Jazz,https.website5/music/mymusicjazz

我怎样才能使用记事本++做到这一点?

【问题讨论】:

  • 我不明白你的问题是什么?获取您希望它看起来像的文本并将其保存为 something.csv。就这样?
  • @Philipp 真正的问题不是创建 csv 文件,而是将 2 行合并为 1 行……但我不知道如何将它们与这样的模式结合……我可以'不要按Ctrl + j,因为有数千行。

标签: notepad++


【解决方案1】:

这将连接由单个换行符分隔的行。

  • Ctrl+H
  • 查找内容:^.+\K\R(?!\R)
  • 替换为:,
  • 检查 环绕
  • CHECK 正则表达式
  • 取消选中 . matches newline
  • 全部替换

说明:

^                   # beginning of line
  .+                # 1 or more any character but newline
  \K                # forget all we have seen until this position
  \R                # any kind of linebreak (i.e. \r, \n, \r\n)
  (?!\R)            # negative lookahead, make sure we haven't a linebreak after

屏幕截图(之前):

屏幕截图(之后):

【讨论】:

    【解决方案2】:

    您可以在 Notepad++ 上使用正则表达式和反向引用

    (([^\r\n]+))(\r\n)?(([^\r\n]+))(\r\n)?
    

    已更新:这会忽略换行符类型

    (([^\r\n]+))([\r\n])?(([^\r\n]+))([\r\n])?
    

    \1 -- 第一行网址

    \4 -- 第二行网址

    \3 -- 新行取自第 3 组

    仅供参考:不要多次运行它(全部替换)。它会不断替换

    【讨论】:

    • 你真的试过了吗?对我来说,它只是在每行的最后一个字符之前插入一个逗号。 Demo
    • 如果你说,我相信你,但我没有得到 Npp 7.8.1 的预期结果
    • 抱歉,我已经使用 EOL \n 进行了测试,它适用于 \r\n。
    • @Toto 你是对的......一个更好的解决方案应该是 (([^\r\n]+))([\r\n])?(([^\r\n]+))([\r\n])? 。无论换行符
    猜你喜欢
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2012-04-30
    • 1970-01-01
    相关资源
    最近更新 更多