#regex #batch-rename
#регулярное выражение #пакетное переименование
Вопрос:
Я пытался удалить все символы после определенного символа в моих нескольких именах файлов
То, что я пытаюсь сделать, это :
test1234 - 15-03-16 - this-is-a-test.mp4
——> test1234 - 15-03-16 - this is a test.mp4
test1234 - 12-02-18 - this-is-another-test.mp4
——> test1234 - 12-02-18 - this is another test.mp4
То есть удалите все -
в this-is-a-test
, а также this-is-another-test
(у меня есть около 100 файлов, названных одинаково)
Я использовал утилиту массового переименования и ее функцию регулярного выражения
RegEx (1)
Match: ^([^-])
Replace: 1
Я понятия не имею о регулярном выражении, я создал приведенный выше код после просмотра сообщения, похожего на мой…К сожалению, в моем случае это не сработало
Оно удалило все -
из имен файлов
Есть ли какой-либо способ, которым я мог бы этого добиться .. приветствуется любая помощь
Спасибо
Комментарии:
1.
(.*)-.*w
— Работает ли это для вас? regex101.com/r/HBvG3K/72. Сейчас я отредактировал свой вопрос .. раньше это было немного запутанно.. Спасибо за ответ
3. Это все еще довольно запутанно. Так не ли цель состоит в том, чтобы удалить ‘-‘ из имен файлов, как в примере? Можете ли вы привести пример того, чего вы действительно хотите?
4. Для ясности, вы хотите удалить все
-
из последней части имени файла вместе с разрешением?5. ДА.. Я снова отредактировал свой вопрос, надеюсь, теперь это внесет ясность.. Спасибо
Ответ №1:
Если поддерживаются предварительные данные, вы можете использовать дефис, утверждая, что далее следует 0 символов без пробелов, за которыми следует .mp4 в конце строки.
При замене используйте пробел.
-(?=S*.mp4$)
Демонстрация регулярного выражения
Или более широкое соответствие:
-(?=S*$)
Комментарии:
1. Большое вам спасибо.. это решило все мои проблемы Есть ли какие-нибудь книги или что-то еще, где я мог бы изучить хотя бы основы регулярных выражений во время пандемии!
2. Добро пожаловать. Это, например, отличные ресурсы rexegg.com и regular-expressions.info