AIMP Forum

AIMP for PC => Плеер / Player => Предложения / Suggestions => Пользовательский интерфейс / UI => Topic started by: Chasmical on August 04, 2025, 20:10:10

Title: Функция деления строк в шаблонах форматирования
Post by: Chasmical on August 04, 2025, 20:10:10
В шаблонах форматирования нету функции деления строки по заданной подстроке, что делает обработку ID3 полей с несколькими значениями крайне сложной. Как я понимаю, это из-за того что функции могут возвращать только строки. Поэтому я хочу предложить функцию %SplitPart(A, B, N), которая делит строку A по разделителю B, и возвращает N'ый элемент (как split_part (https://www.postgresql.org/docs/current/functions-string.html#FUNCTIONS-STRING-OTHER) в PostgreSQL).

К примеру, сейчас для получения толького первого исполнителя из поля необходимо использовать такой шаблон:
%IFGreater(%StrPos(/,%Artist),0,%StrLeft(%Artist,%Dec(%StrPos(/,%Artist),1)),%Artist)

А с %SplitPart, это возможно будет переписать следующим образом:
%SplitPart(%Artist,/,1)

Примеры:
%SplitPart(Artist A/Artist B,/,1) => "Artist A"
%SplitPart(Artist A/Artist B,/,2) => "Artist B"
%SplitPart(Artist A/Artist B,/,3) => ""
Title: Re: Функция деления строк в шаблонах форматирования
Post by: Artem on August 04, 2025, 20:11:36
А с %SplitPart, это возможно будет переписать следующим образом:
%SplitPart(%Artist,/,1)

%StrPart, реализован в рамках v6.
Title: Re: Функция деления строк в шаблонах форматирования
Post by: Chasmical on August 04, 2025, 20:15:01
Ясно, спасибо! Буду ждать ❤️