2012-10-17 47 views
1
string <- c("tyuynmklabcwsqzp") 

如果我的任務是替換所有的「ABC」與「ABC123」,代碼,如何替換搜索字符串的部分中的R

gsub("abc", "\\1123", string) 

但是,如果我要搜索「 abc「,然後將其替換爲」c123「,那麼我應該怎麼做?有沒有辦法將正則表達式分成幾個部分,這樣我就可以有\ 2就像\ 1? 如果這是可能的,那麼我的命令是,

gsub("abc", "\\2123", string). 

請幫助。

回答

3

可以使用括號來組在一起的部件的正則表達式,隨後將重複操作或反向引用到匹配組。

在你的情況,試試這個:

string <- c("tyuynmklabcwsqzp") 
gsub("(ab)(c)", "\\2123", string) 
# [1] "tyuynmklc123wsqzp" 
2

嘗試使用

gsub("(abc)", "\\1123", string) # abc → abc123 

gsub("ab(c)", "\\1123", string) # abc → c123