Skip to content
Back to formatted view

Raw Message

Message-ID: <1406905195.28646.YahooMailNeo@web142605.mail.bf1.yahoo.com>
Date: 2014-08-01T14:59:55Z
From: arun
Subject: Better use with gsub
In-Reply-To: <B08B6AF0CF8CA44F81B9983EEBDCD68699B11D5D@DC1VEX10MB001.air.org>

You could try:
library(stringr)
? 
simplify2array(str_extract_all(xx, perl('(?<=[A-Z]|\\:)\\d+')))
???? [,1] [,2] [,3]? [,4]? [,5]? [,6] 
[1,] "24" "24" "24"? "24"? "24"? "24" 
[2,] "57" "86" "119" "129" "138" "163"
A.K.

On Friday, August 1, 2014 10:49 AM, "Doran, Harold" <HDoran at air.org> wrote:
I have done an embarrassingly bad job using a mixture of gsub and strsplit to solve a problem. Below is sample code showing what I have to start with (the vector xx) and I want to end up with two vectors x and y that contain only the digits found in xx.

Any regex users with advice most welcome

Harold

xx <- c("S24:57",?  "S24:86",?  "S24:119",? "S24:129",? "S24:138",? "S24:163")
yy <- gsub("S","\\1", xx)
a1 <- gsub(":"," ", yy)
a2 <- sapply(a1, function(x) strsplit(x, ' '))
x <- as.numeric(sapply(a2, function(x) x[1]))
y <- as.numeric(sapply(a2, function(x) x[2]))

??? [[alternative HTML version deleted]]

______________________________________________
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.