R: remove single characters from string

I have a huge string in R where I want to remove single characters from. So for example, the string might be

blabla a test this that b á

And the result should be

blabla test this that

How do I do this in R?

• please accept an answer if it worked for you! – Stereo Feb 27 '17 at 9:05

This splits the string and filters the substrings by length, no regex:

string <- "blabla a test this that b á"
paste(Filter(function(x) nchar(x) > 1,
unlist(strsplit(string, " "))),
collapse=" ")
# [1] "blabla test this that"


(does not work with multiple space characters)

• You might get it to work with multiple space characters by using strsplit(string, "\\W+", perl=TRUE). That should enable perl regex matching and then split based on one or more whitespace characters. – Duncan Feb 16 '17 at 1:40
• If you want to split on multiple spaces, you can also just use '\\s+' as split. – Jaap Mar 4 '17 at 10:30