Remove square brackets from a string vector

Solution 1:

You could gsub out the brackets like so:

n = c("[Dave]", "[Tony]", "[Sara]")

gsub("\\[|\\]", "", n)
[1] "Dave" "Tony" "Sara"

Solution 2:

A regular expression substitution will do it. Look at the gsub() function.

This gives you what you want (it removes any instance of '[' or ']'):

gsub("\\[|\\]", "", n)

Solution 3:

The other answers should be enough to get your desired output. I just wanted to provide a brief explanation of why what you tried didn't work.

paste concatenates character strings. If you paste an empty character string, "", to something with a separator that is also an empty character string, you really haven't altered anything. So paste can't make a character string shorter; the result will either be the same (as in your example) or longer.