Jak zauważyli inni, paste()
jest to najlepsza droga. Ale denerwujące może być paste(str1, str2, str3, sep='')
pisanie za każdym razem, gdy chcesz użyć domyślnego separatora.
Możesz bardzo łatwo tworzyć funkcje opakowania, które znacznie upraszczają życie. Na przykład, jeśli często łączysz łańcuchy bez separatora, możesz:
p <- function(..., sep='') {
paste(..., sep=sep, collapse=sep)
}
lub jeśli często chcesz łączyć ciągi z wektora (np. implode()
z PHP):
implode <- function(..., sep='') {
paste(..., collapse=sep)
}
Pozwala to zrobić:
p('a', 'b', 'c')
#[1] "abc"
vec <- c('a', 'b', 'c')
implode(vec)
#[1] "abc"
implode(vec, sep=', ')
#[1] "a, b, c"
Jest też wbudowana funkcja paste0
, która robi to samo co moja implode
, ale nie zezwala na niestandardowe separatory. Jest nieco bardziej wydajny niż paste()
.