[R] Regular expressions on filenames

jim holtman jholtman at gmail.com
Thu Jan 16 01:46:40 CET 2014


try this:

> x <- c(  "FILE.XXX.csv"
+         , "FILE.YYY.xls")
> sub("\\.[^.]*$", "", x)
[1] "FILE.XXX" "FILE.YYY"
>

the '[^.]*' says to match anything BUT a period.

Jim Holtman
Data Munger Guru

What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.


On Wed, Jan 15, 2014 at 7:37 PM, Fisher Dennis <fisher at plessthan.com> wrote:
> R 3.0.2
> OS X
>
> Colleagues
>
> I am writing code to read a large number of files in a particular folder.  In some situations, there may be two versions of the file with different extensions, e.g.:
>         FILE.csv
>         FILE.xls
> I extracted the portion before the extension with:
>         sub("\\..*$", "", basename(FILELIST))
> then used
>         duplicated
> to find duplicates.  All was well until I encountered files named:
>         FILE.XXX.csv
>         FILE.YYY.xls
>
> My regular expression extracted only the “FILE” portion of the text and claimed that the filenames (without the extensions) matched.  Can someone provide me with the appropriate regular expression to deal with this?  Thanks.
>
> Dennis
>
>
> Dennis Fisher MD
> P < (The "P Less Than" Company)
> Phone: 1-866-PLessThan (1-866-753-7784)
> Fax: 1-866-PLessThan (1-866-753-7784)
> www.PLessThan.com
>
> ______________________________________________
> R-help at 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.




More information about the R-help mailing list