Regex вернуть имя файла, удалить путь и расширение файла
У меня есть data.frame, который содержит текстовый столбец имен файлов. Я хотел бы вернуть имя файла без пути или расширения файла. Обычно имена моих файлов нумеруются, но это не обязательно. Например:
df<-data.frame(data=c("a","b"),fileNames=c("C:/a/bb/ccc/NAME1.ext","C:/a/bb/ccc/d D2/name2.ext"))
Я хотел бы вернуть эквивалент
df<-data.frame(data=c("a","b"),fileNames=c("NAME","name"))
но я не могу понять гладкое регулярное выражение, чтобы сделать это с gsub. Например, я могу избавиться от расширения с помощью (при условии, что имя файла заканчивается цифрой):
gsub('([0-9]).ext','',df[,"fileNames"])
Хотя я пробовал различные шаблоны (читая файлы справки regex и похожие решения на этом сайте), я не могу получить регулярное выражение для возврата текста между последним «/» и первым «.». Любые мысли или пожелания к подобным вопросам очень ценятся!
Лучшее, что я получил, это:
gsub('*[[:graph:]_]/|*[[:graph:]_].ext','',df[,"fileNames"])
Но это 1) не избавляет от всех начальных символов пути и 2) зависит от конкретного расширения файла.