нормализация имени файла из артикла со спец символами

luk911

Client
Регистрация
17.01.2013
Сообщения
1 542
Благодарностей
579
Баллы
113
Есть артиклы с разными спец символами - /\*& и так далее Надо сделать из артикла имя файла, то есть заменить спец символы на что нить или удалить.
Может сниппет есть какой рабочий ?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
Есть артиклы с разными спец символами - /\*& и так далее Надо сделать из артикла имя файла, то есть заменить спец символы на что нить или удалить.
Может сниппет есть какой рабочий ?
Необязательно снипет использовать.
Можно использовать экшен Обработка текста - Замена (Regex) и регулярку:
Код:
[\\/:\*\?"\<\>\|]
(регулярку можно подправить для использования своей коллекции символов)
 
  • Спасибо
Реакции: luk911

luk911

Client
Регистрация
17.01.2013
Сообщения
1 542
Благодарностей
579
Баллы
113
Код:
[\\/:\*\?"\<\>\|]
(регулярку можно подправить для использования своей коллекции символов)
чутка запутался с экранированиями в вашей регулярке. в начале толи еще одни \ нужен толи я не понимаю и " наврное тоже надо экранировать.

полный набор спец символов вроде такой
& ; | * ? ' " ` [ ] ( ) $ < > { } ^ # \ / % !
 

ZComand

Client
Регистрация
02.02.2016
Сообщения
57
Благодарностей
63
Баллы
18
& ; | * ? ' " ` [ ] ( ) $ < > { } ^ # \ / % !
не помню точно, но вроде бы все спец символы можно удалить такой регуляркой [^\w] - это выражение подействует на все кроме цифр, Букв(любой алфавит) и нижнего подчеркивания
 
  • Спасибо
Реакции: luk911

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
чутка запутался с экранированиями в вашей регулярке. в начале толи еще одни \ нужен толи я не понимаю и " наврное тоже надо экранировать.

полный набор спец символов вроде такой
& ; | * ? ' " ` [ ] ( ) $ < > { } ^ # \ / % !
Кавычку экранировать не нужно.
Знак доллара $ - нужно.
[ - тоже нужно (именно открывающую кв. скобку).
^ - тоже нужно экранировать.
Остальные не нужно.
 
  • Спасибо
Реакции: luk911

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
не помню точно, но вроде бы все спец символы можно удалить такой регуляркой [^\w] - это выражение подействует на все кроме Букв(любой алфавит) и нижнего подчеркивания
Да, можно и такой вариант использовать, но он уберет все кроме букв.
Если нужно что то оставить, то лучше прямо прописывать, перечислить все варианты для замены.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)