在 NotePad++ 中仅从 csv 文件中提取特定字段

在 NotePad++ 中仅从 csv 文件中提取特定字段

我正在尝试过滤一个 csv 文件。格式如下

1,2017-06-27,"The Greatest View","Flume Feat. Isabella Manfredi",https://www.shazam.com/it/track/99802230/the-greatest-view,99802230
2,2017-06-26,"Onde (Sondr Remix)","Marco Mengoni",https://www.shazam.com/it/track/357622192/onde-sondr-remix,357622192
3,2017-06-24,"Right Now","SR-71",https://www.shazam.com/it/track/497286/right-now,497286
4,2017-06-22,"Tra Le Granite E Le Granate","Francesco Gabbani",https://www.shazam.com/it/track/350506679/tra-le-granite-e-le-granate,350506679
5,2017-06-22,"Upside Down","Jack Johnson",https://www.shazam.com/it/track/43748028/upside-down,43748028

到目前为止,我正在寻找一个可以返回如下输出的正则表达式:

The Greatest View - Flume Feat. Isabella Manfredi
Onde (Sondr Remix) - Marco Mengoni

等等

我应该使用哪个正则表达式?谢谢

答案1

搜索(使用正则表达式):

.*"(.*)","(.*)".*

并将其替换为:

\1 - \2

我们所做的是寻找与整行匹配的字符串,但将引号之间的两件事捕获到捕获组中,然后在替换中使用这些捕获组。

答案2

这是一个更通用的解决方案:

  1. 首先替换,\t
  2. 然后使用正则表达式搜索^.*?\t
  3. 用以下任意数量的时间替换|

使用列选择工具选择所需的列。

相关内容