notepad++:删除第五个逗号之后的所有内容



在nodepad++中,我需要删除每行第五个逗号之后的所有内容。但是如果某一行的逗号少于5个,那么就不会删除任何内容。例子:

One,Two,Three,Four,Five,Six,Seven
One,Two,Three,Four,Five,Six,Seven,Eight
One
One,Two,Three
One,Two,Three,Four,Five,Six

One,Two,Three,Four,Five
One,Two,Three,Four,Five
One
One,Two,Three
One,Two,Three,Four,Five

我在这里发现了两个逗号的类似例子。但是我不能适应我的任务。

我们可以尝试下面的查找和替换,在regex模式下:

Find:    ^([^,]*(?:,[^,]*){4}).*$
Replace: $1

这个正则表达式模式表示:

  • ^从每行开始
  • (开始捕获$1
    • [^,]*单个CSV术语
    • (?:,[^,]*){4}后面跟着逗号和另一个CSV术语(总共5个)
  • ) stop capture
  • .*匹配行
  • 的剩余部分
  • $行尾

这是一个工作演示。

最新更新