Como otros han señalado, paste()
es el camino a seguir. Pero puede ser molesto tener que escribir paste(str1, str2, str3, sep='')
cada vez que desee el separador no predeterminado.
Puede crear fácilmente funciones de envoltura que hacen la vida mucho más simple. Por ejemplo, si te encuentras concatenando cadenas sin separador muy a menudo, puedes hacer:
p <- function(..., sep='') {
paste(..., sep=sep, collapse=sep)
}
o si a menudo quieres unir cadenas de un vector (como implode()
de PHP):
implode <- function(..., sep='') {
paste(..., collapse=sep)
}
Te permite hacer esto:
p('a', 'b', 'c')
#[1] "abc"
vec <- c('a', 'b', 'c')
implode(vec)
#[1] "abc"
implode(vec, sep=', ')
#[1] "a, b, c"
Además, está incorporado paste0
, que hace lo mismo que mi implode
, pero sin permitir separadores personalizados. Es un poco más eficiente que paste()
.