Я пытаюсь переименовать кучу файлов в моем каталоге, и я застрял в его регулярной части.Удалить символы и цифры из строки в perl
Я хочу удалить определенные символы из имени файла, которые появляются в начале.
Example1: _00-author--book_revision_
Ожидаемый: Author - Book (Revision)
До сих пор, я могу использовать регулярное выражение для удаления подчеркивания & captialize первой буквы
$newfile =~ s/_/ /g;
$newfile =~ s/^[0-9]//g;
$newfile =~ s/^[0-9]//g;
$newfile =~ s/^-//g;
$newfile = ucfirst($newfile);
Это не хороший метод. Мне нужна помощь в удалении всех символов, пока вы не нажмете первую букву, и когда вы нажмете первый «-», я хочу добавить пробел до и после «-». Кроме того, когда я ударил второй «-» Я хочу, чтобы заменить его «(»
Любого руководства, советы или даже предложения о том, что нашел правильный подход очень ценятся
Спасибо большое !! s/-/- /; <- Wont это заменяет каждый '-' на '-' ?? Кроме того, как я могу добавить ')' в конце имени файла? – Naveen
Я только что осознал свою ошибку. У меня есть несколько файлов, названных так, как показано в приведенном выше примере, и некоторые файлы, называемые версией 00-author-book-revision. В любом случае, я хочу, чтобы файлы были переименованы в Author-Book (ревизия). Но ваш вклад определенно помог мне здесь, и я собираюсь выяснить, как исправить эту проблему. – Naveen
@Naveen, Без/g он просто заменит первый. '$ s. = ')';' – ikegami