Возвращать идентифицированные части строк с помощью grepl, а не полной строки - PullRequest
0 голосов
/ 30 октября 2018

У меня есть столбец, содержащий около 300 строк, которые заканчиваются (разными) расширениями файлов.

Например

   id   colname1
   1    file1.mov
   2    name.jpeg
   3    bla.long_extension

Я хочу создать новую строку, которая возвращает только расширения. Таким образом, все, что осталось от точки должно быть удалено

id    new_col
 1     .mov
 2     .jpeg
 3     .long_extension

Используя grep (". *", Df $ colname1, value = TRUE), я могу определить, какие строки соответствуют шаблону (оканчивается на "и неопределенное количество последующих символов), но как я могу указать, что хочу только возвращаются последние символы, а не номер строки или вся строка? Ни слева, ни справа от точки количество символов не зафиксировано.

1 Ответ

0 голосов
/ 30 октября 2018

Мы можем использовать sub для удаления префикса

df$new_col <- sub(".*\\.", ".", df$colname1)
df$new_col
#[1] ".mov"            ".jpeg"           ".long_extension"
...