我正在从Musicbee迁移到iTunes(出于图书馆管理的原因)但不幸的是,这意味着我不得不再次处理文件名截断(iTunes将文件名大小,包括曲目编号和扩展名限制为40个字符)。我没有将我的整个库同步到我的设备,只有少数播放列表,不幸的是,这些播放列表在迁移过程中受到了损害。所以现在我使用Notepad ++将原始文本从旧的.MBP文件复制到新的.M3U文本文件。我设法将每个文件位置放在它自己的行上,但现在我试图截断每行的文件名,并且有3000多行。
理想情况下我需要的是在每一行中找到第7个“\”(这会找到相册文件夹字符串的结尾),然后告诉它去36个字符(需要留下4列为每行末尾的“.mp3”然后删除第36个字符后的所有内容,包括任何尾随空格,然后将“.mp3”添加回到最后。
示例:
C:\Users\USER\Music\iTunes\ARTIST\ALBUM\01 A Really Really Really Really Long Track Name.mp3
变为:
C:\Users\USER\Music\iTunes\ARTIST\ALBUM\01 A Really Really Really Really Lo.mp3
公平警告,我对Notepad ++很新。我只是真的使用了一些TextFX,但我知道它能够使用高级查找/替换表达式。我尝试在SO上查找类似的请求,但无法得到任何我能理解或适应的内容。
谢谢!
答案 0 :(得分:0)
在最后一次反斜杠之后让#34;得到所有包括最多36个字符会更容易":
搜索正则表达式
(.*\\.{1,36})[^\\]*.mp3
替换为
\1.mp3
获取你: C:\ Users \ USER \ Music \ iTunes \ ARTIST \ ALBUM \ 01 A Really Really Really Lon.mp3
(比你的结果多一个char,在我的计数中还有40个,如果错了,用35替换36个。)