> On Aug 2, 2016, at 11:46 AM, Dennis Fisher <fis...@plessthan.com> wrote:
> 
> R 3.3.1
> OS X
> 
> Colleagues, 
> 
> I have encountered an unexpected regex problem
> 
> I have read an Excel file into R using the readxl package.  Columns names are:
> 
> COLNAMES      <- c("Study ID", "Test and Biological Matrix", "Subject No. ", 
> "Collection Date", 
> "Collection Time", "Scheduled Time Point", "Concentration", "Concentration 
> Units", 
> "LLOQ", "ULOQ", "Comment”)
> 
> As you can see, there is a trailing space in “Subject No. “.  I would like to 
> delete that space.  The following works:
>       sub(“ $”, “”, COLNAMES)
> However, I would like a more general approach that removes any trailing 
> whitespace.
> 
> I tried variations such as:
>       sub("[:blank:]$", "", COLNAMES)
> (also, without the $ and ‘space' instead of ‘blank') without success — to my 
> surprise, characters other than the trailing space were deleted but the 
> trailing space remained.
> 
> Guidance on the correct syntax would be appreciated.
> 
> Dennis


Dennis, 

There is actually an example in ?gsub:

## trim trailing white space
str <- "Now is the time      "
sub(" +$", "", str)  ## spaces only

The '+' sign will match the preceding space one or more times at the end of the 
character string.

Note that as per ?regex, it is [:space:], not [:blank:] and the brackets need 
to be doubled in the regex to define the enclosing character group. An example 
would be:

sub("[[:space:]]+$", "", str) ## white space, POSIX-style

which is also in ?gsub.

Regards,

Marc Schwartz

______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
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