我喜欢' aa; a' ' AA;'我需要删除';' (或任何其他标点符号)仅当字符串以其结尾时。如果它以它开头或在中间包含它,我不想删除它。
以下行会导致删除&#39 ;;'
gsub("(^.*)[[:punct:]]","",'a;a')
答案 0 :(得分:4)
我们可以在$
之后指定元字符[[:punct:]]
来表示字符串的结尾,因此它匹配字符串末尾的标点符号并将其替换为空白(""
)
sub("[[:punct:]]$","",c('a;a', 'aa;'))
#[1] "a;a" "aa"
请注意,gsub
不是sub
(全局替换),而是仅用于匹配和替换单个实例。