r - 将 gsub 用于 R 中字符串中的特定事件?
问题描述
我有两个字符串:
mystring1 <- c("hello i am a cat. just kidding, i'm not a cat i'm a cat. dogs are the best animal. not cats!")
mystring2 <- c("hello i am a cat. just kidding, i'm not a cat i'm a cat. but i have a cat friend that is a cat.")
我想将两个字符串中单词 cat 的第三次出现更改为 dog。
理想情况下,string1
将string2
阅读:
mystring1
[1] "hello i am a cat. just kidding, i'm not a cat i'm a dog. dogs are the best animal. not cats!"
mystring2
[1] "hello i am a cat. just kidding, i'm not a cat i'm a dog. but i have a cat friend that is a cat."
这样做的最佳方法是什么?到目前为止,我只习惯于gsub
替换字符,但我不知道这是否可以用来替换特定出现的字符。
解决方案
你可以使用
mystring1 <- c("hello i am a cat. just kidding, i'm not a cat i'm a cat. dogs are the best animal. not cats!")
mystring2 <- c("hello i am a cat. just kidding, i'm not a cat i'm a cat. but i have a cat friend that is a cat who knows a cat knowing a cat.")
sub("((cat.*?){2})\\bcat\\b", "\\1dog", mystring1, perl=TRUE)
这使
> sub("((cat.*?){2})\\bcat\\b", "\\1dog", c(mystring1, mystring2), perl=TRUE)
[1] "hello i am a cat. just kidding, i'm not a cat i'm a dog. dogs are the best animal. not cats!"
[2] "hello i am a cat. just kidding, i'm not a cat i'm a dog. but i have a cat friend that is a cat who knows a cat knowing a cat."
推荐阅读
- header - (Odoo) 在单个页面上包含 CSS 和 JavaScript 文件
- julia - 为什么 Julia 不能系统地求解线性系统?
- node.js - 我在 MongooseDB 中有两个模型,如何使用 Node.js 和 React.js 一次更新这两个模型?
- flutter - Flutter 如何正确调用 initState()
- django - 如果从 django 前端输入数据,则无法获取用户名
- node.js - Firebase Functions 如何在没有管理员权限的情况下访问 Firestore
- svg - 在animejs中的动画之间移动SVG
- reactjs - useState updates state on second click
- python - 如何找到一个整数等价于无穷大作为高于所有其他索引的索引?
- algorithm - SwiftUI MultipeerConnectivity 错误算法