I have the name of a file like this: name1.csv
and I would like to extract two substrings of this string. One that stores the name1
in one variable and other that stores the extension, csv
, without the dot in another variable.
I have been searching if there is a function like indexOf
of Java that allows to do that kind of manipulation, but I have not found anything at all.
Any help?
Use
strsplit
:Note that you a) need to escape the dot (as it is a metacharacter for regular expressions) and b) deal with the fact that
strsplit()
returns a list of which typically only the first element is of interest.A more general solution involves regular expressions where you can extract the matches.
For the special case of filenames you also have:
and
as these are such a common tasks (cf
basename
in shell etc).Using regular expression, you can do this for example
Use
strsplit()
:http://stat.ethz.ch/R-manual/R-devel/library/base/html/strsplit.html
Example:
Note that second argument is a regular expression, that's why you can't just pass single dot (it will be interpreted as "any character").