Right, Other option is:
substr(nameFile, 1, tail(unlist(gregexpr("\\.", nameFile)), 1) - 1) On Fri, Jan 9, 2009 at 1:23 PM, Rau, Roland <r...@demogr.mpg.de> wrote: > Hi, > > > [mailto:r-help-boun...@r-project.org] On Behalf Of Henrique > > Dallazuanna > > > > Try this also: > > > > substr(basename(myfile), 1, nchar(basename(myfile)) - 4) > > > > This, of course, assumes that the extensions are always 3 characters. > Sometimes there might be more ("index.html"), sometimes less > ("shellscript.sh"). > > Although my solution is not as compact as the others (I wish I was > proficient in 'mastering regular expressions'), I'd like to provide my > little code-snippet which does not require any regular expressions (but > expects a . in the filename). > > ###################### > x1 <- "roland.txt" > x2 <- "roland.html" > x3 <- "roland.sh" > > no.extension <- function(astring) { > if (substr(astring, nchar(astring), nchar(astring))==".") { > return(substr(astring, 1, nchar(astring)-1)) > } else { > no.extension(substr(astring, 1, nchar(astring)-1)) > } > } > > no.extension(x1) > no.extension(x2) > no.extension(x3) > ###################### > > Hope this helps a bit, > Roland > > P.S. Any suggestions how to become more proficient with regular > expressions? The O'Reilly book ("Mastering...")? Whenever I tried > anything more complicated than basic usage (things like ^ $ * . ) in R, > I was way faster to write a new function (like above) instead of finding > a regex solution. > > By the way: it might be still possible to *write* regular expressions, > but what about code re-use? Are there people who can easily *read* > complicated regular expressions? > > ---------- > This mail has been sent through the MPI for Demographic Research. Should > you receive a mail that is apparently from a MPI user without this text > displayed, then the address has most likely been faked. If you are uncertain > about the validity of this message, please check the mail header or ask your > system administrator for assistance. > > -- Henrique Dallazuanna Curitiba-Paraná-Brasil 25° 25' 40" S 49° 16' 22" O [[alternative HTML version deleted]]
______________________________________________ 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.