首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在notepad++中从行中间拆下额外的管道

在notepad++中从行中间拆下额外的管道
EN

Stack Overflow用户
提问于 2019-10-10 10:58:38
回答 1查看 472关注 0票数 1

我有一个管道删除的txt文件,它的中间有一个空闲的文本列,有时该空闲文本包含一个管道,当我将它导入Excel时,它会抛出整个文件。

我知道每一行应该有4个管道,所以我想用4个以上的管道来识别,然后用一个空格替换第三个。

位置,日期,日期,注释,系统,

NYC\10.10.2019\x{e76f}更正窗口

Angeles|10.10.2019|error|5|windows|

芝加哥10.10.2019\x{e76f}\x{e76f}

我已经想出了如何识别一条有超过4个管道的管道:

^([^|\r\n]*\|){5}

我一直无法找到如何更换第三管。

谢谢你的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-10 11:02:24

逻辑是:将一个管道后面的非管道的N-1数和下面的0或更多的非管道捕获到第1组中,然后匹配Nth管道,然后捕获M-N数量的非管道字符,然后是一个管道(N是删除发生的管道,M是应该在一行上的管道数量)。

你可以用

查找^((?:[^|\r\n]*\|){2}[^|\r\n]*)\|((?:[^|\r\n]*\|){2})

替换为$1 $2

详细信息

  • ^ - line
  • ((?:[^|\r\n]*\|){2}[^|\r\n]*)捕获组1($1)的开始:除管道以外的0+字符的两次重复,LF和CR之后是管道,然后是0+字符而不是管道、LF和CR
  • \| --第三次|
  • ((?:[^|\r\n]*\|){2})捕获组2 ($2):除管道以外的0+字符的两次重复,LF和CR后面跟着一根管道。

测试和设置:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58321342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档