1
我希望这是足够不同的相关,先前的职位来证明自己的线程;不幸的是,他们对我毫无帮助。我认为我对部分替换的兴趣,加对通配符的使用是独一无二的,但是,如果我根本没有足够仔细地搜索或仔细阅读,我会表示歉意!R gsub部分替换通配符
假设我有以下字符串:
str <- c("FOO_1", "FOO_2", "BAR_1", "BAR_2")
我想在FOO_1
用别的东西到底要更换1
,说A
。我试图与这两个
gsub("[^F.*](1)$", "\\_A", str)
和
gsub("^F.*(1)$", "\\_BLAH", str)
这样做,但很明显,他们都不工作,以取代只1
,留下其余FOO_
完好,同时不改变BAR_1
。我有一个愚蠢的解决方案,只涉及一行grep()
和一行gsub()
,但如果这就是我所解决的问题,我会恨自己。
这里的规则是什么?只需在字符串末尾替换_1即可? 'sub(“_ 1 $”,“_A”,x)'?看看[这个演示](https://ideone.com/mKj7Uh) - 你在找什么? –
不幸的是,没有;我只想用'FOO'替换变量_starting_并用'1'替换_ending_。因此,例如,如果方法将“BAR_1”更改为“BAR_A”,那就是失败。 我只是试图提供一个最小的工作示例,但在实际情况下,有几个相同的变量排列。例如。,“FOO_A_1”,“FOO_B_1”等;我想要捕获所有'^ FOO。* 1 $'(对不起,如果这是不正确的陈述)。 – ironchefsakai
['sub(“^(FOO。*)_1 $”,“\\ 1_A”,str)'](https://ideone.com/Nxqsi9)? –