[R] Q about strsplit and regexp

Arne Henningsen ahenningsen at email.uni-kiel.de
Wed Oct 20 15:52:54 CEST 2004


Dear Andy,

I also don't know a regular expression that does what you want. However, if 
you have to do this several times, you can avoid the 'ugly' command by:
> mystrsplit <- function( str ) strsplit(sub("^ +", "", str), " +")
> mystrsplit( "  a b    c ")
[[1]]
[1] "a" "b" "c"
> mystrsplit( " d  e   f")
[[1]]
[1] "d" "e" "f"

All the best,
Arne

On Wednesday 20 October 2004 14:15, Liaw, Andy wrote:
> Dear R-help,
>
> This one is probably a piece of cake for regexp masters.  I'd like to split
> a character vector (for simplicity, say of length one for now) that
> contains fields that are delimited by arbitrary number of white spaces
> (e.g., "  a b c ").  How do I get the character vector that contain the
> fields?  In the
>
> example I gave, I've tried:
> > strsplit("  a b    c ", " +")
>
> [[1]]
> [1] ""  "a" "b" "c"
>
> I do not want that empty character in the beginning, but couldn't figure
> out
>
> how to strip the starting white spaces, other than something ugly like:
> > strsplit(sub("^ +", "", "  a b    c "), " +")
>
> [[1]]
> [1] "a" "b" "c"
>
> Can some kind soul point me to a simpler way?  TIA!!
>
> Best,
> Andy
>
> Andy Liaw, PhD
> Biometrics Research      PO Box 2000, RY33-300
> Merck Research Labs           Rahway, NJ 07065
> andy_liaw <at> merck.com          732-594-0820
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html

-- 
Arne Henningsen
Department of Agricultural Economics
University of Kiel
Olshausenstr. 40
D-24098 Kiel (Germany)
Tel: +49-431-880 4445
Fax: +49-431-880 1397
ahenningsen at agric-econ.uni-kiel.de
http://www.uni-kiel.de/agrarpol/ahenningsen/




More information about the R-help mailing list