gpt4 book ai didi

r - 将字符作为项目定界符插入到 R 中的字符串中

转载 作者:行者123 更新时间:2023-12-04 16:36:39 24 4
gpt4 key购买 nike

在 R 中,我有一个包含多个条目的字符串,例如:

mydata <- c("(first data entry) (second data entry) (third data entry) ")

我要插入管道符“|”在条目之间作为项目分隔符,以以下列表结尾:

"(first data entry)|(second data entry)|(third data entry)"

并非所有 mydata 行都包含相同数量的条目。如果 mydata 包含 0 个或仅包含 1 个条目,则没有“|”管道符号是必需的。

我已经尝试了以下但没有成功:

newdata <- paste(mydata, collapse = "|")

感谢您的帮助!

最佳答案

如果您有一致的 )+1 空格 +( 模式,则不需要正则表达式。

你可以简单地使用

gsub(") (", ")|(", mydata, fixed=TRUE)

如果您的字符串包含可变数量的空格、制表符等,您可以使用

gsub("\\)\\s*\\(", ")|(", mydata)
gsub("\\)[[:space:]]*\\(", ")|(", mydata)
stringr::str_replace_all(mydata, "\\)\\s*\\(", ")|(")

此处,\)\s*\( 模式匹配 )(转义,因为 ) 是一个特殊的正则表达式元字符),然后为零或更多空格,然后是 (.

参见 regex demo .

如果括号之间始终有一个或多个空格,请使用 \s+ 而不是 \s*

关于r - 将字符作为项目定界符插入到 R 中的字符串中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69090751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com