[R] extracting every nth character from a string...
Evan Cooch
evan.cooch at gmail.com
Sat Sep 5 22:59:54 CEST 2015
Suppose I had the following string, which has length of integer multiple
of some value n. So, say n=2, and the example string has a length of
(2x4) = 8 characters.
str <- "ABCDEFGH"
What I'm trying to figure out is a simple, base-R coded way (which I
heuristically call StrSubset in the following) to extract every nth
character from the string, to generate a new string.
So
str <- "ABCDEFGH"
new_str <- StrSubset(str);
print(new_str)
which would yield
"ACEG"
Best I could come up with is something like the following, where I
extract every odd character from the string:
StrSubset <- function(string)
{
paste(unlist(strsplit(string,""))[seq(1,nchar(string),2)],collapse="") }
Anything more elegant come to mind? Trying to avoid regex if possible
(harder to explain to end-users), but if that meets the 'more elegant'
sniff test, happy to consider...
Thanks in advance...
More information about the R-help
mailing list