Remove the extension of a vector of filenames

Share:

Description

Remove the extension of a vector of filenames, assuming that the extension is the set of characters that follows the last "."

Usage

1
stripExtension(vec, split.char = ".")

Arguments

vec

Character vector (usually containing filenames)

split.char

A single character used to split the character strings

Details

Assumes paths are delineated using forward slashes. If an NA is supplied, then an NA is returned. If the desired string doesn't exist (see examples below), a "" is returned.

Value

Character vector with the last "." and the filename extension removed. Alternatively, another split character could be used.

Author(s)

Landon Sego

See Also

Additional functions for filename manipulations: getExtension, stripPath, getPath, grabLast, basename, dirname

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
stripExtension(c("this old file.doc", "that young file.rtf",
                 "this.good.file.doc", "this_bad_file"))

stripExtension(c("this old file*doc", "that young file*rtf",
                 "this*good*file*doc", "this_bad_file"), split.char = "*")


# Named vectors are not required, but are included here to make the
# output easier to read.  This example demonstrates a number of
# pathological cases.
stripExtension(c(a = NA, b = ".doc", c = "this.pdf", d = "this.file.", e = ".",
                 f = "noExtension", g = "direc.name/filename.txt", h = ""))

# An example with 'real' files
files <- dir(file.path(path.package(package = "Smisc"), "data"), full.names = TRUE)
print(files)
stripExtension(files)
stripExtension(stripPath(files))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.