我可以使用 gsub 函数找到一个模式并将其替换为 2 个不同的模式吗?
Can i use gsub function to find a pattern and replace it by 2 different patterns?
我需要帮助找到一个模式并用两种不同的方式替换它。例如,单词 "Code/i"
应替换为 "Code, Codi"
。
我应该在替换中使用什么代码来获得用逗号分隔的两个结果?我是 R 的新手,假设需要使用一些元字符或正则表达式?另外,我需要使用基本功能而不需要外部包。感谢任何反馈和帮助,因为我卡住了!谢谢
a <- c("Code/i", "Karina")
gsub(pattern = "/i", replacement= "", a)
期望的结果:
"Code, Codi, Karina"
您可以使用 sub
和 paste0
并根据相关值(包含模式 /
的值)对向量 a
进行子集化:
数据:
a <- c("Code/i", "Karina", "Jimmy", "John Bolton", "Pete/i")
解决方案:
c(paste0(sub("/.*", "", a[grepl("/", a)]), ", ", sub("./", "", a[grepl("/", a)])), a[!grepl("/", a)])
结果:
[1] "Code, Codi" "Pete, Peti" "Karina" "Jimmy" "John Bolton"
我需要帮助找到一个模式并用两种不同的方式替换它。例如,单词 "Code/i"
应替换为 "Code, Codi"
。
我应该在替换中使用什么代码来获得用逗号分隔的两个结果?我是 R 的新手,假设需要使用一些元字符或正则表达式?另外,我需要使用基本功能而不需要外部包。感谢任何反馈和帮助,因为我卡住了!谢谢
a <- c("Code/i", "Karina")
gsub(pattern = "/i", replacement= "", a)
期望的结果:
"Code, Codi, Karina"
您可以使用 sub
和 paste0
并根据相关值(包含模式 /
的值)对向量 a
进行子集化:
数据:
a <- c("Code/i", "Karina", "Jimmy", "John Bolton", "Pete/i")
解决方案:
c(paste0(sub("/.*", "", a[grepl("/", a)]), ", ", sub("./", "", a[grepl("/", a)])), a[!grepl("/", a)])
结果:
[1] "Code, Codi" "Pete, Peti" "Karina" "Jimmy" "John Bolton"