G'day Wacek,

On Fri, 09 Jan 2009 12:52:46 +0100
Wacek Kusnierczyk <waclaw.marcin.kusnierc...@idi.ntnu.no> wrote:

> Berwin A Turlach wrote:
> > G'day all,
> >
> > On Fri, 9 Jan 2009 08:12:18 -0200
> > "Henrique Dallazuanna" <www...@gmail.com> wrote:
> >
> >   
> >> Try this also:
> >>
> >> substr(basename(myfile), 1, nchar(basename(myfile)) - 4)
> >>     
> >
> > Or, in case that the extension has more than three letters or
> > "myfile" is a vector of names:
> >
> > R> myfile <- "path1/path2/myoutput.txt"
> > R> sapply(strsplit(basename(myfile),"\\."), function(x)
> > R> paste(x[1:(length(x)-1)], collapse="."))
> > [1] "myoutput"
> > R> myfile2 <- c(myfile, "path2/path3/myoutput.temp")
> > R> sapply(strsplit(basename(myfile2),"\\."), function(x)
> > R> paste(x[1:(length(x)-1)], collapse="."))
> > [1] "myoutput" "myoutput"
> > R> myfile3 <- c(myfile2, "path4/path5/my.out.put.xls")
> > R> sapply(strsplit(basename(myfile3),"\\."), function(x)
> > R> paste(x[1:(length(x)-1)], collapse="."))
> > [1] "myoutput"   "myoutput"   "my.out.put"
> >
> >   
> 
> or have sub do the job for you:
> 
> filenames.ext = c("foo.bar", basename("foo/bar/hello.dolly"))
> (filenames.noext = sub("[.][^.]*$", "", filenames.ext, perl=TRUE))

Apparently also a possibility, I guess it can be made to work with the
original example and my extensions.

Though, it seems to require the knowledge of perl, or at least perl's
regular expression. 

Cheers,

        Berwin

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to