我有一个简单的情况,但我很难在正则表达式中使用组和反向引用。我怎么能做到这一点stringr::str_replace?
例如,我想test.txt在test.evaluation.txt. 我希望是这样的:
stringr::str_replace("test.txt", "\\.(\\1)$", ".evaluation.(\\1)")
Run Code Online (Sandbox Code Playgroud)
我想使用组“1”来保存文件格式。如果有人可以帮助以这种格式回答问题,请提前致谢。
编辑
带stringr:
stringr::str_replace_all(my_string,"([a-z])(.txt)","\\1.evaluation\\2")
[1] "test.evaluation.txt"
Run Code Online (Sandbox Code Playgroud)
不是最有效的:
my_string<-"test.txt"
res<-unlist(strsplit(my_string,"\\."))
paste0(res[1],".evaluation.",res[2])
[1] "test.evaluation.txt"
Run Code Online (Sandbox Code Playgroud)