我有一个字符串列表,我需要将其中带有特定后缀的字符串更改为具有特定前缀的字符串。我正在使用gsub,并在替换的pattern参数中回引用了括号内的子表达式。
问题在于该函数将反向引用推到输出字符串的开头
> gsub("([:alnum:]*).suff", "\\1", "string.suff")
[1] "string"
> gsub("([:alnum:]*).suff", "pre_\\1", "string.suff")
[1] "stringpre_"
任何想法,可能不涉及通过endsWith
,paste
和ifelse
的组合来解决的方法?