R替换子文件中的野生单字符

R替换子文件中的野生单字符,r,R,如何引用R>中的任何单个字符?在我的情况下,这将是3个任何字符。我被它的力量弄得有点不知所措,周围有这么多的帮助!)就我而言,我需要用“XXX”替换位置25-27中的任何3个字符。我成功地使用此代码替换特定字符,尝试使用%,*而不是abc,但没有效果。多 d <- c("alpha 1 bravo 0 charlie_abc v3") sub("^(.{24})abc", "\\1XXX", d) [1] "alpha 1 bravo 0 charlie_XXX v3" d这里有两

如何引用R>中的任何单个字符?在我的情况下,这将是3个任何字符。我被它的力量弄得有点不知所措,周围有这么多的帮助!)就我而言,我需要用“XXX”替换位置25-27中的任何3个字符。我成功地使用此代码替换特定字符,尝试使用%,*而不是abc,但没有效果。多

d <- c("alpha 1 bravo 0 charlie_abc v3")
sub("^(.{24})abc", "\\1XXX", d)
   [1] "alpha 1 bravo 0 charlie_XXX v3"

d这里有两种方法,使用模式
“^(.{24})。{3}”
或使用子字符串

d <- c("alpha 1 bravo 0 charlie_abc v3")
sub("^(.{24}).{3}", "\\1XXX", d)
#> [1] "alpha 1 bravo 0 charlie_XXX v3"

d <- c("alpha 1 bravo 0 charlie_abc v3")
substring(d, 25, 27) <- "XXX"
d
#> [1] "alpha 1 bravo 0 charlie_XXX v3"
d[1]“alpha 1布拉沃0查理XXX v3”

这里有两种方法,使用模式
“^(.{24})。{3}”
或使用
子字符串

d <- c("alpha 1 bravo 0 charlie_abc v3")
sub("^(.{24}).{3}", "\\1XXX", d)
#> [1] "alpha 1 bravo 0 charlie_XXX v3"

d <- c("alpha 1 bravo 0 charlie_abc v3")
substring(d, 25, 27) <- "XXX"
d
#> [1] "alpha 1 bravo 0 charlie_XXX v3"
d[1]“alpha 1布拉沃0查理XXX v3”

d我认为
substring
是这里更好的选择,它比使用一个毫无意义的正则表达式更直接,也可能更有效。@Marius,我最初认为
substring
也会更快。但是当我做一个基准测试时,我很惊讶这两种方法的速度是相似的。Tx MT和Marius。抱歉,MT,我试图使用从文件加载数据,但只得到了一个“XXX”。加载文件时是否存在任何差异
>zz1或者如果它基于
子(“\uw+”,“\uxxx”,d)
我认为
子字符串
是这里更好的选择,它做得更直接,可能比使用一个毫无意义的正则表达式效率更高。@Marius,我最初认为
子字符串
也会更快。但是当我做一个基准测试时,我很惊讶这两种方法的速度是相似的。Tx MT和Marius。抱歉,MT,我试图使用从文件加载数据,但只得到了一个“XXX”。加载文件时是否存在任何差异<代码>>z z1或如果它基于
\ucode>
子项(“\uw+”,“\uxxx”,d)