R 处理文件名中的点

R 处理文件名中的点,r,R,我想把每个字符名中间的“.”改为“但是”,但我不知道如何在有几个“。”时指定。有人有什么建议吗 另一个问题是,它似乎不喜欢“当我试图将所有”改为“时,它不起作用。如何处理 From: "L234.346546.24.3654" "L34.547567.78.79878" "L456.7474.22.07806" Expected outcome: "L234.346546_24.3654" "L34.54

我想把每个字符名中间的“.”改为“但是”,但我不知道如何在有几个“。”时指定。有人有什么建议吗

另一个问题是,它似乎不喜欢“当我试图将所有”改为“时,它不起作用。如何处理

From: "L234.346546.24.3654" "L34.547567.78.79878" "L456.7474.22.07806" 
Expected outcome:
"L234.346546_24.3654" "L34.547567_78.79878" "L456.7474_22.07806" 

v <- c("L234.346546.24.3654", "L34.547567.78.79878", "L456.7474.22.07806")
vv <- gsub(".", "_", v)
vv
[1] "___________________" "___________________" "__________________" 
From:“L234.346546.24.3654”“L34.547567.78.79878”“L456.7474.22.07806”
预期成果:
“L234.346546_24.3654”“L34.547567_78.79878”“L456.7474_22.07806”
v这应该可以做到:

v <- c("L234.346546.24.3654", "L34.547567.78.79878", "L456.7474.22.07806")
vv <- gsub("(\\..*?)\\.", "\\1_", v)
vv

是正则表达式中的一个特殊字符,如果您只想按字面意思定位
在正则表达式中有特殊含义:它表示“任何字符”。你需要逃避它:“\\.”。一个简单的谷歌搜索将给你所有你需要知道的。
[1] "L234.346546_24.3654" "L34.547567_78.79878" "L456.7474_22.07806"