Hide navigation sidebar
Hide table of contents sidebar
Back to top
Edit this page
Toggle table of contents sidebar

# stri_join: Concatenate Character Vectors

## Description

These are the stringi’s equivalents of the built-in `paste` function. `stri_c` and `stri_paste` are aliases for `stri_join`.

## Usage

    stri_join(..., sep = "", collapse = NULL, ignore_null = FALSE)

    stri_c(..., sep = "", collapse = NULL, ignore_null = FALSE)

    stri_paste(..., sep = "", collapse = NULL, ignore_null = FALSE)

## Arguments

`...` | character vectors (or objects coercible to character vectors) whose corresponding elements are to be concatenated
`sep` | a single string; separates terms
`collapse` | a single string or `NULL`; an optional results separator
`ignore_null` | a single logical value; if `TRUE`, then empty vectors provided via `...` are silently ignored

## Details

Vectorized over each atomic vector in ‘`...`’.

Unless `collapse` is `NULL`, the result will be a single string. Otherwise, you get a character vector of length equal to the length of the longest argument.

If any of the arguments in ‘`...`’ is a vector of length 0 (not to be confused with vectors of empty strings) and `ignore_null` is `FALSE`, then you will get a 0-length character vector in result.

If `collapse` or `sep` has length greater than 1, then only the first string will be used.

In case where there are missing values in any of the input vectors, `NA` is set to the corresponding element. Note that this behavior is different from `paste`, which treats missing values as ordinary strings like `'NA'`. Moreover, as usual in stringi, the resulting strings are always in UTF-8.

## Value

Returns a character vector.

## Author(s)

Marek Gagolewski and other contributors

## See Also

The official online manual of stringi at https://stringi.gagolewski.com/

Gagolewski M., stringi: Fast and portable character string processing in R, Journal of Statistical Software 103(2), 2022, 1-59, doi:10.18637/jss.v103.i02

Other join: `%s+%()`, `stri_dup()`, `stri_flatten()`, `stri_join_list()`

## Examples

    stri_join(1:13, letters)
    ##  [1] "1a"  "2b"  "3c"  "4d"  "5e"  "6f"  "7g"  "8h"  "9i"  "10j" "11k" "12l"
    ## [13] "13m" "1n"  "2o"  "3p"  "4q"  "5r"  "6s"  "7t"  "8u"  "9v"  "10w" "11x"
    ## [25] "12y" "13z"
    stri_join(1:13, letters, sep=',')
    ##  [1] "1,a"  "2,b"  "3,c"  "4,d"  "5,e"  "6,f"  "7,g"  "8,h"  "9,i"  "10,j"
    ## [11] "11,k" "12,l" "13,m" "1,n"  "2,o"  "3,p"  "4,q"  "5,r"  "6,s"  "7,t"
    ## [21] "8,u"  "9,v"  "10,w" "11,x" "12,y" "13,z"
    stri_join(1:13, letters, collapse='; ')
    ## [1] "1a; 2b; 3c; 4d; 5e; 6f; 7g; 8h; 9i; 10j; 11k; 12l; 13m; 1n; 2o; 3p; 4q; 5r; 6s; 7t; 8u; 9v; 10w; 11x; 12y; 13z"
    stri_join(1:13, letters, sep=',', collapse='; ')
    ## [1] "1,a; 2,b; 3,c; 4,d; 5,e; 6,f; 7,g; 8,h; 9,i; 10,j; 11,k; 12,l; 13,m; 1,n; 2,o; 3,p; 4,q; 5,r; 6,s; 7,t; 8,u; 9,v; 10,w; 11,x; 12,y; 13,z"
    stri_join(c('abc', '123', 'xyz'),'###', 1:6, sep=',')
    ## [1] "abc,###,1" "123,###,2" "xyz,###,3" "abc,###,4" "123,###,5" "xyz,###,6"
    stri_join(c('abc', '123', 'xyz'),'###', 1:6, sep=',', collapse='; ')
    ## [1] "abc,###,1; 123,###,2; xyz,###,3; abc,###,4; 123,###,5; xyz,###,6"