Skip to content
Prev 166469 / 398502 Next

Extracting File Basename without Extension

Hi,
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.

Thread (26 messages)

Gundala Viswanath Extracting File Basename without Extension Jan 8 jim holtman Extracting File Basename without Extension Jan 8 Henrique Dallazuanna Extracting File Basename without Extension Jan 9 Berwin A Turlach Extracting File Basename without Extension Jan 9 Wacek Kusnierczyk Extracting File Basename without Extension Jan 9 Gabor Grothendieck Extracting File Basename without Extension Jan 9 Wacek Kusnierczyk Extracting File Basename without Extension Jan 9 Berwin A Turlach Extracting File Basename without Extension Jan 9 Wacek Kusnierczyk Extracting File Basename without Extension Jan 9 Berwin A Turlach Extracting File Basename without Extension Jan 9 Brian Ripley Extracting File Basename without Extension Jan 9 Wacek Kusnierczyk Extracting File Basename without Extension Jan 9 Wacek Kusnierczyk Extracting File Basename without Extension Jan 9 Berwin A Turlach Extracting File Basename without Extension Jan 9 Duncan Murdoch Extracting File Basename without Extension Jan 9 Rau, Roland Extracting File Basename without Extension Jan 9 Henrique Dallazuanna Extracting File Basename without Extension Jan 9 Gabor Grothendieck Extracting File Basename without Extension Jan 9 Peter Dalgaard Extracting File Basename without Extension Jan 9 Marc Schwartz Extracting File Basename without Extension Jan 9 Wacek Kusnierczyk Extracting File Basename without Extension Jan 9 Wacek Kusnierczyk Extracting File Basename without Extension Jan 9 Gabor Grothendieck Extracting File Basename without Extension Jan 9 Gabor Grothendieck Extracting File Basename without Extension Jan 9 Wacek Kusnierczyk Extracting File Basename without Extension Jan 11 Wacek Kusnierczyk Extracting File Basename without Extension Jan 11