You need to enable JavaScript to run this app. R语言如何实现仅替换未紧跟在指定单词后的目标字符串
优惠活动
大模型
产品
解决方案
定价
更多

R语言如何实现仅替换未紧跟在指定单词后的目标字符串

R 匹配替换未紧跟指定单词的目标字符串方法

你需要的规则可以通过Perl兼容正则的负向回顾断言实现,核心逻辑是在匹配目标单词the前,校验前面的内容不等于指定的of (of加空格)。

可直接运行的实现代码

vec <- c("time of the day", "word of the day", "time the day")
# 启用perl正则支持,(?<!of )为负向回顾断言,匹配前面不是"of "的the
result <- gsub("(?<!of )the", "of the", vec, perl = TRUE)

运行后得到的结果和你期望的完全一致:
c("time of the day", "word of the day", "time of the day")

更严谨的优化写法

如果需要避免误匹配到包含the的其他单词(比如there、other等),可以加上单词边界锚定,仅替换独立的the单词:

result <- gsub("(?<!of )\\bthe\\b", "of the", vec, perl = TRUE)

内容的提问来源于stack exchange,提问作者user2957945

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.16 11:57:02