file_ext {xfun} | R Documentation |
Manipulate filename extensions
Description
Functions to obtain (file_ext()
), remove (sans_ext()
), and
change (with_ext()
) extensions in filenames.
Usage
file_ext(x, extra = "")
sans_ext(x, extra = "")
with_ext(x, ext, extra = "")
Arguments
x |
A character of file paths. |
extra |
Extra characters to be allowed in the extensions. By default,
only alphanumeric characters are allowed (and also some special cases in
‘Details’). If other characters should be allowed, they can be
specified in a character string, e.g., |
ext |
A vector of new extensions. It must be either of length 1, or the
same length as |
Details
file_ext()
is similar to tools::file_ext()
, and
sans_ext()
is similar to tools::file_path_sans_ext()
.
The main differences are that they treat tar.(gz|bz2|xz)
and
nb.html
as extensions (but functions in the tools package
doesn't allow double extensions by default), and allow characters ~
and #
to be present at the end of a filename.
Value
A character vector of the same length as x
.
Examples
library(xfun)
p = c("abc.doc", "def123.tex", "path/to/foo.Rmd", "backup.ppt~", "pkg.tar.xz")
file_ext(p)
sans_ext(p)
with_ext(p, ".txt")
with_ext(p, c(".ppt", ".sty", ".Rnw", "doc", "zip"))
with_ext(p, "html")
# allow for more characters in extensions
p = c("a.c++", "b.c--", "c.e##")
file_ext(p) # -/+/# not recognized by default
file_ext(p, extra = "-+#")