r - 我可以使用 gsub 函数找到一个模式并用 2 个不同的模式替换它吗?
问题描述
我需要帮助来找到一种模式并用两种不同的方式替换它。例如,该词"Code/i"
应替换为"Code, Codi"
。
我应该使用什么代码来替换以逗号分隔的两个结果?我是 R 新手,假设需要使用一些元字符或正则表达式?另外,我需要使用基本功能并且没有外部包。感谢任何反馈和帮助,因为我被卡住了!谢谢
a <- c("Code/i", "Karina")
gsub(pattern = "/i", replacement= "", a)
期望的结果:
"Code, Codi, Karina"
解决方案
您可以在相关值(包含 pattern 的那些)上使用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"
推荐阅读
- javascript - 使用可选参数对 Where 子句进行续集
- javascript - 如何在点击反应时将元素添加到数组中?
- c++ - C++ 内存分配器
- python - 如何正确将此代码转换为 while 循环一?
- javascript - 在javascript中的变量上添加数字格式
- truclient - Truclient 对象识别
- python - 有没有办法在 Pytorch 中监控优化器的步骤?
- reactjs - 如何在 React 中从页面路由到另一个页面?
- python - 使用 tensorflow keras 后端将标量乘以张量
- javascript - node js,从 csv 文件中读取特定列并将其转换为要在其他函数中使用的数组