You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用gsub在文件路径指定位置插入单词而非替换?

解决方案

方法1:直接精准替换

最简洁的方式是直接匹配/strip/子串,将其替换为/strip/old/,不会影响后续的文件名:

aa <- "Downloads/strip/2022.dat"
aa <- gsub("/strip/", "/strip/old/", aa)
# 输出结果:"Downloads/strip/old/2022.dat"

方法2:捕获组实现插入(适配复杂场景)

如果需要避免误匹配其他位置的strip/,可以用捕获组保留原/strip/内容,再插入old/:

aa <- "Downloads/strip/2022.dat"
aa <- gsub("(/strip/)", "\\1old/", aa)
# 输出结果:"Downloads/strip/old/2022.dat"

这里(/strip/)是捕获组,\\1表示引用捕获到的/strip/内容,拼接old/后完成插入操作。

原代码失效原因

你之前的正则\/strip/.+会匹配从/strip/开始到字符串末尾的所有内容(.+表示任意字符至少出现一次),替换后会把/strip/2022.dat整体换成/Old/,最终得到Downloads/Old/,自然达不到插入效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 18:12:13