В Notepad как мне найти n-й «» в строке?

#notepad

#notepad

Вопрос:

Я перехожу с Musicbee обратно в iTunes (по соображениям управления библиотекой), но, к сожалению, это означает, что мне снова приходится иметь дело с усечением имени файла (iTunes ограничивает размер имени файла, включая номер дорожки и расширение, до 40 символов). Я не синхронизирую всю свою библиотеку со своими устройствами, только несколько плейлистов, которые, к сожалению, были скомпрометированы во время миграции. Итак, теперь я использую Notepad для копирования необработанного текста из старого.Файлы MBP в новый текстовый файл .M3U. Мне удалось получить местоположение каждого файла в отдельной строке, но теперь я пытаюсь обрезать имена файлов в каждой строке, и их более 3000 строк.

В идеале, что мне конкретно нужно, так это найти 7-е вхождение «» в каждой строке (это позволит найти конец строки папки альбома), а затем указать, что в нем 36 символов (нужно оставить 4 столбца для «.mp3» в конце каждой строки), а затемудалите все после 36-го символа, включая любые конечные пробелы, а затем добавьте «.mp3» обратно в конец.

Пример:

 C:UsersUSERMusiciTunesARTISTALBUM1 A Really Really Really Really Long Track Name.mp3
  

Становится:

 C:UsersUSERMusiciTunesARTISTALBUM1 A Really Really Really Really Lo.mp3
  

Честно говоря, я новичок в Notepad . Я действительно использовал только немного TextFX, но я знаю, что он способен выполнять расширенные выражения поиска / замены. Я попытался найти похожие запросы на SO, но не смог получить ничего, что я мог бы понять или адаптировать.

Спасибо!

Комментарии:

1. Неправильное место для этого. Попробуйте суперпользователя.

Ответ №1:

Было бы проще иметь «получить все, включая до первых 36 символов после последней обратной косой черты»:

Поиск регулярного выражения

 (.*\.{1,36})[^\]*.mp3
  

Заменить на

 1.mp3
  

Получает вас:
C:UsersUSERMusiciTunesARTISTALBUM1 Очень, Очень, Очень Одинокий.mp3

(на 1 символ больше, чем ваш результат, все еще 40 в моем подсчете, если неправильно, замените 36 на 35).