Như những người khác đã chỉ ra, paste()
là con đường để đi. Nhưng nó có thể gây khó chịu khi phải gõ paste(str1, str2, str3, sep='')
mỗi lần bạn muốn phân tách không mặc định.
Bạn có thể rất dễ dàng tạo các hàm bao bọc giúp cuộc sống đơn giản hơn nhiều. Chẳng hạn, nếu bạn thấy mình nối các chuỗi không có dấu phân cách thực sự thường xuyên, bạn có thể làm:
p <- function(..., sep='') {
paste(..., sep=sep, collapse=sep)
}
hoặc nếu bạn thường muốn nối các chuỗi từ một vectơ (như implode()
từ PHP):
implode <- function(..., sep='') {
paste(..., collapse=sep)
}
Cho phép bạn làm điều này:
p('a', 'b', 'c')
#[1] "abc"
vec <- c('a', 'b', 'c')
implode(vec)
#[1] "abc"
implode(vec, sep=', ')
#[1] "a, b, c"
Ngoài ra, có tích hợp sẵn paste0
, hoạt động tương tự như của tôi implode
, nhưng không cho phép phân tách tùy chỉnh. Nó hiệu quả hơn một chút paste()
.