I would like to split a string into its elements and then paste them together again. However no matter what I tried, it doesn`t work.
Here are two things I've tried:
'hello' %>% strsplit('') %>% paste0()
output: "c(\"h\", \"e\", \"l\", \"l\", \"o\")"
'hello' %>% strsplit('') %>% unlist() %>% paste0()
output: "h" "e" "l" "l" "o"
I would simply like to get my 'hello' back.
CodePudding user response:
You can use paste but you have to specify the collapse argument.
'hello' %>% strsplit('') %>% unlist() %>% paste(collapse = "")
Alternatively you can use str_c from the stringr library:
'hello' %>% strsplit('') %>% unlist() %>% stringr::str_c(collapse = "")
CodePudding user response:
Another solution is to use stringr::str_flatten which explicitly does what you want:
library(stringr)
'hello' %>%
strsplit('') %>%
unlist() %>%
str_flatten()
# [1] "hello"
To avoid unlist, you can use stringr::str_split with simplify = TRUE:
'hello' %>%
str_split('', simplify = T) %>%
str_flatten()
CodePudding user response:
We can try unlist as.list do.call along with paste0 like below
"hello" %>%
strsplit("") %>%
unlist() %>%
as.list() %>%
do.call(paste0, .)
