gpt4 book ai didi

r - 如何更改向量中的单词分隔符?

转载 作者:行者123 更新时间:2023-12-04 22:10:34 25 4
gpt4 key购买 nike

我有一个由以下样式组成的字符向量:

mylist <- c('John Myer Stewert','Steve',' Michael Boris',' Daniel and Frieds','Michael-Myer')

我正在尝试创建一个这样的字符向量:
mylist <- c('John+Myer+Stewert','Steve',' Michael+Boris',' Daniel+and+Frieds','Michael+Myer')

我试过了:
test <- cat(paste(shQuote(mylist , type="cmd"), collapse="+"))

这似乎是错误的。如何更改 mylist 中的单词分隔符,如上所示?

最佳答案

我们可以通过匹配空格( gsub )作为模式来使用 " " 并将其替换为 "+"

gsub(" ", "+", trimws(mylist))
#[1] "John+Myer+Stewert" "Steve" "Michael+Boris"
#[4] "Daniel+and+Frieds" "Michael-Myer"

我认为前导空格是错字。如果不是,我们可以使用正则表达式查找
gsub("(?<=[a-z])[ -](?=[[:alpha:]])", "+", mylist, perl = TRUE)
#[1] "John+Myer+Stewert" "Steve" " Michael+Boris"
#[4] " Daniel+and+Frieds" "Michael+Myer"

或者一些 PCRE 正则表达式
gsub("(^ | $)(*SKIP)(*F)|[ -]", "+", mylist, perl = TRUE)
#[1] "John+Myer+Stewert" "Steve" " Michael+Boris"
#[4] " Daniel+and+Frieds" "Michael+Myer"

关于r - 如何更改向量中的单词分隔符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38027118/

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