Come altri hanno sottolineato, paste()
è la strada da percorrere. Ma può essere fastidioso dover digitare paste(str1, str2, str3, sep='')
ogni volta che si desidera il separatore non predefinito.
Puoi facilmente creare funzioni wrapper che semplificano la vita. Ad esempio, se ti ritrovi a concatenare stringhe senza separatore molto spesso, puoi fare:
p <- function(..., sep='') {
paste(..., sep=sep, collapse=sep)
}
o se vuoi spesso unire stringhe da un vettore (come implode()
da PHP):
implode <- function(..., sep='') {
paste(..., collapse=sep)
}
Ti permette di fare questo:
p('a', 'b', 'c')
#[1] "abc"
vec <- c('a', 'b', 'c')
implode(vec)
#[1] "abc"
implode(vec, sep=', ')
#[1] "a, b, c"
Inoltre, c'è il built-in paste0
, che fa la stessa cosa del mio implode
, ma senza consentire separatori personalizzati. È leggermente più efficiente di paste()
.