Skip to content

strsplit on comma, with a trailing comma in input

5 messages · Dan Kelley, Benilton Carvalho, Gabor Grothendieck +1 more

#
I have a comma-separated data file in which trailing commas sometimes occur. 
I am using strsplit to extract the data from this file, and it seems great
except in cases with trailing comma characters.

The example below illustrates.  What I'd like is to get a fourth element in
the answer, being an empty string just like the second element.  Is there a
way I can express my patter (or perhaps specify perl or extended) to get
that?
[1] "a" ""  "b"
#
my understanding is that this behavior is known (the help file  
mentions something along these lines in the example).

i'd use something like:

theText <- "a,,b,"
theText <- gsub("\\,$", ", ", theText)

and then use strsplit() on "theText"

b
On Dec 3, 2007, at 6:22 PM, dankelley wrote:

            
#
Try appending another comma:

strsplit(paste("a,,b,", ",", sep = ""), ",")
On Dec 3, 2007 6:22 PM, dankelley <Dan.Kelley at dal.ca> wrote:
#
dankelley wrote:
Hmm, I don't think strsplit can do that. However:

 > scan(textConnection("a,,b,"), sep=",", what="")
Read 4 items
[1] "a" ""  "b" ""
#
This works perfectly.  Thanks!
Peter Dalgaard wrote: