Comme d'autres l'ont souligné, paste()
c'est la voie à suivre. Mais il peut être ennuyeux d'avoir à taper à paste(str1, str2, str3, sep='')
chaque fois que vous voulez le séparateur non par défaut.
Vous pouvez très facilement créer des fonctions wrapper qui vous simplifient la vie. Par exemple, si vous vous retrouvez à concaténer des chaînes sans séparateur très souvent, vous pouvez faire:
p <- function(..., sep='') {
paste(..., sep=sep, collapse=sep)
}
ou si vous voulez souvent joindre des chaînes à partir d'un vecteur (comme à implode()
partir de PHP):
implode <- function(..., sep='') {
paste(..., collapse=sep)
}
Vous permet de faire ceci:
p('a', 'b', 'c')
#[1] "abc"
vec <- c('a', 'b', 'c')
implode(vec)
#[1] "abc"
implode(vec, sep=', ')
#[1] "a, b, c"
De plus, il y a le intégré paste0
, qui fait la même chose que le mien implode
, mais sans autoriser les séparateurs personnalisés. C'est un peu plus efficace que paste()
.