AIMP Forum

AIMP for PC => Вопросы / Questions => Topic started by: MCW on April 16, 2023, 05:40:11

Title: Возможность использования %Replace с произвольным количеством аргументов.
Post by: MCW on April 16, 2023, 05:40:11
При детранслитерация полей плейлиста и заменой нескольких аргументов с помощью %Replace столкнулся с не совсем удобным построением функции. Для того чтобы сделать несколько замен, приходится делать несколько уровней, например:

Code: [Select]
%Replace(%Replace(%Replace(%Replace(%Replace(%Replace(%Replace(%Replace(%Artist,A1,B1),A2,B2),A3,B3),A4,B4),A5,B5),A6,B6),A7,B7),A8,B8)
В fb2k эта же функция выглядит проще и тот же результат получили в таком виде:

Code: [Select]
$Replace(%Artist%,A1,B1,A2,B2,A3,B3,A4,B4,A5,B5,A6,B6,A7,B7,A8,B8)
Quote
$replace(a,b,c)
Заменяет все вхождения строки b в строке a строкой c.
Можно использовать с произвольным количеством аргументов.
Обратите внимание, что $replace(a,b1,c1,b2,c2) возвращает значение, отличное от $replace($replace(a,b1,c1),b2,c2).

Пример: $replace(ab,a,b,b,c) -> "bc", $replace($replace(ab,a,b),b,c) -> "cc"

Возможны ли изменения подобного рода или я не правильно делаю?
Title: Re: Возможность использования %Replace с произвольным количеством аргументов.
Post by: Artem on April 16, 2023, 15:26:12
Сделаю, но отдельной функцией. И для пк, и для андроида. Единственное что, делать нюанс как в фубаре не буду.
Title: Re: Возможность использования %Replace с произвольным количеством аргументов.
Post by: MCW on April 16, 2023, 17:39:25
Единственное что, делать нюанс как в фубаре не буду.
Главное, чтобы было короче и без многоуровневых вложений.
Title: Re: Возможность использования %Replace с произвольным количеством аргументов.
Post by: Artem on April 17, 2023, 14:58:31
Вопрос, а у вас по факту замена или удаление каких-то ошметков?
Title: Re: Возможность использования %Replace с произвольным количеством аргументов.
Post by: MCW on April 17, 2023, 18:04:17
Замена. Можно посмотреть на примере индивидуальных настроек форматирования плейлиста в теме (https://www.aimp.ru/forum/index.php?topic=22023.msg432077#msg432077).