如何在R中字符串的每个字符之间插入一个垂直条?例如,假设我有一个字符串“ABC123”。我如何获得输出为“A | B | C | 1 | 2 | 3”?如果有人可以将这个想法用于字符串向量,那就太好了。
答案 0 :(得分:1)
首先,分成单个字符,然后折叠
paste(unlist(strsplit("ABC123", "")), collapse = "|")
#[1] "A|B|C|1|2|3"
对于字符串向量,使用sapply
循环遍历
mystrings = c("ABC123", "PASDP")
sapply(strsplit(mystrings, ""), paste, collapse = "|")
#[1] "A|B|C|1|2|3" "P|A|S|D|P"
答案 1 :(得分:0)
以下是使用regex
gsub("(?<=.)(?=.)", "|", "ABC123", perl = TRUE)
#[1] "A|B|C|1|2|3"
或者有多个字符串
mystrings <- c("ABC123", "PASDP")
gsub("(?<=.)(?=.)", "|", mystrings, perl = TRUE)
#[1] "A|B|C|1|2|3" "P|A|S|D|P"