在R中字符串的每个字符之间插入竖线

在R中字符串的每个字符之间插入竖线,r,stringr,stringi,R,Stringr,Stringi,我怎样才能在R中字符串的每个字符之间插入一个竖条?例如,假设我有一个字符串“ABC123”。我如何获得“A | B | C | 1 | 2 | 3”的输出?如果有人能将这个想法矢量化为字符串矢量,那就太好了 首先,分离为单个字符,然后折叠 paste(unlist(strsplit("ABC123", "")), collapse = "|") #[1] "A|B|C|1|2|3" 对于字符串的向量,使用sapply循环遍历它们 mystrings = c("ABC123", "PASDP")

我怎样才能在R中字符串的每个字符之间插入一个竖条?例如,假设我有一个字符串“ABC123”。我如何获得“A | B | C | 1 | 2 | 3”的输出?如果有人能将这个想法矢量化为字符串矢量,那就太好了

首先,分离为单个字符,然后折叠

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"  

这里有一个使用
regex

gsub("(?<=.)(?=.)", "|", "ABC123", perl = TRUE)
#[1] "A|B|C|1|2|3"

<代码> > GSUB((我想出了<代码> PAST0)(StrS拆开(“ABC123”,“”)[Curr]=[O])/>代码,但本质上是相同的。有人推荐R中的字符串操作的特定资源吗?我会认为自己是一个很强的R程序员,但我仍然与像这样的基本字符串操作相抗争。
mystrings <- c("ABC123", "PASDP")
gsub("(?<=.)(?=.)", "|", mystrings, perl = TRUE)
#[1] "A|B|C|1|2|3" "P|A|S|D|P"